Check our Terms and Privacy Policy.

低学年児童のためのプログラム教育教材の作成とそのための実践:第一版 (2nd)

プログラミングという概念は、手続きを書くことと同義ではありません。 プログラムそのものの概念の把握から、プログラミングの考え方の多様性を理解できる教材を目指します。 主に小道具を使うアンプラグドな環境においてパズルやゲームを題材としたものを想定しています。

現在の支援総額

4,000

0%

目標金額は2,080,000円

支援者数

1

募集終了まで残り

終了

このプロジェクトは、2017/08/02に募集を開始し、 2017/08/30に募集を終了しました

このプロジェクトを見た人はこちらもチェックしています

低学年児童のためのプログラム教育教材の作成とそのための実践:第一版 (2nd)

現在の支援総額

4,000

0%達成

終了

目標金額2,080,000

支援者数1

このプロジェクトは、2017/08/02に募集を開始し、 2017/08/30に募集を終了しました

プログラミングという概念は、手続きを書くことと同義ではありません。 プログラムそのものの概念の把握から、プログラミングの考え方の多様性を理解できる教材を目指します。 主に小道具を使うアンプラグドな環境においてパズルやゲームを題材としたものを想定しています。

このプロジェクトを見た人はこちらもチェックしています

データ表現、データ圧縮2」で、大切なことを書き忘れていました。そちらにも、「データ表現、データ圧縮1」にもこういうものがありました:

値  回数  ビット列
00 2   1111110
01 1   11111110
80 1   111111110
02 5   0
40 5   10
04 5   110
20 5   1110
08 3   11110
10 3   111110
1F 1   1111111110
F8 1   11111111110

これを、回数、つまり頻度順に並べてみます:
値  回数  ビット列
02 5   0
40 5   10
04 5   110
20 5   1110
08 3   11110
10 3   111110
00 2   1111110
01 1   11111110
80 1   111111110
1F 1   1111111110
F8 1   11111111110

この場合、元の8bitに対してのこれらの符号の平均長がどうなるのかを見てみましょう。計算は簡単で、「ビット列の長さ * 回数/32バイト」の総和となります:
((1*(5/32)) + (2*(5/32)) + (3*(5/32)) + (4*(5/32)))
+ ((5*(3/32)) + (6*(3//32)))
+ (7*(2/32))
+ ((8*(1/32)) + (9*(1/32)) + (10*(1/32)) + (11*(1/32)))
= ((1*0.15625) + (2*0.15625) + (3*0.15625) + (4*0.15625))
 + ((5*0.09375) + (6*0.09375))
 + (7*0.06250)
 + ((8*0.03125) + (9*0.03125) + (10*0.03125) + (11*0.03125))
= (0.15625 + 0.3125 + 0.46875 + 0.625)
 + (0.46875 + 0.5625)
 + (0.4375)
 + (0.25 + 0.28125 + 0.3125 + 0.34375)
= (1.5625)
 + (1.03125)
 + (0.4375)
 + (1.1875)
= 4.21875

このように、平均して元の8bit4.21875bitになっています。元が32バイトですから、4.21875に32をかけると135bit、これを8で割ると16.875バイトとなります。「データ表現、データ圧縮2」では17バイトになっていましたので、いい感じです。

先の、出現回数1回のものはこれらでした:
01 1   11111110
80 1   111111110
1F 1   1111111110
F8 1   11111111110

これらは、いずれも8bit以上の長さになっています。そういうものがあっても、出現頻度が少ないなら、かまわないわけです。データ圧縮ができるということは、こんな感じによってです。

絵などをラン・レングスで表わしてみる、あるいはラン・レングスから絵を復元してみるというあたりが、本企画で扱う題材としては適当なものなのかもしれません。ですが、このあたりに関連して、「情報とはなにか」であるとか、「情報量」についての課題も組み込みたいところではあります。リボルバー拳銃でのロシアン・ルーレット (よく使われる例です)、あるいはそれと同じモデルで、条件付き確率として扱えないことはないかもしれません。ただし、あくまで条件付き確率であることを強調しておかないと、後で児童・生徒が混乱することになるかもしれません。そのあたりも含めて、検討が必要だと考えています。

興味を持たれましたら、ぜひご支援や、コメントをお願いいたします。

プロジェクトの本文や、活動報告についての感想、ご意見、ご質問を、ぜひコメントでお寄せいただければと思います。現在は支援募集期間中であり、本企画の実施期間ではないため、お寄せいただいた感想などについてはリターンとしてではなく、お返事や回答をさせていただきます。

また、私個人についてはこちらをご覧ください。

 

シェアしてプロジェクトをもっと応援!