「コンピュータを使わない、コンピュータとプログラミング入門」の課題案に入っている「数当てゲーム」について簡単に解説します。たんに数を当てるだけではなく、背景にある情報工学における課題も理解していただければと思います。
対戦ゲームの形態を取ります。
正直に言えば、アンプラグドであることにこだわりがあるわけではありません。講座としては、OSのバージョンなどなど細かいことを気にするのが手間だからという程度の理由です。
「それではあんまりな理由だ」と思われるかもしれません。
2020年からのプログラミング教育の必修化に向けて、文科省が掲げている標語が「プログラミングを通して教科を学ぶ」というものだ。
言うのは簡単。だが、実際にどうするのかと考えると、この標語は難題だ。
教科として、国語(日本語)、算数・数学、理科(物理、化学、生物、地球科学)、社会(歴史、地理、公民)、図工、音楽、体育というあたりを考えてみよう。
『図解 プログラミング教育がよくわかる本』〔石戸 奈々子, 講談社, 2017.〕のp. 14にはこのような箇所がある:
なぜ? どうして?
ロボットをつくり、「まっすぐ歩く」という動きをプログラミングしたのに、その通りに動かない。理由を考える
また、p. 15には明確にこうある:自然に試行錯誤ができるという特徴もあります。
プログラミング教育についての話です。
プログラムとはなんなのかということについては、ヴィルトの「Algorithm + Data Structure = Program」という著書があります。ここで、「Algorithm + Data Structure」とありますが、AlgorithmとData Structureはかならずしも分離できるものではありません。また、逆に、必ずしも一体のものでもありません。ですが、片方を選ぶともう片方も決まってくるという傾…
その答えは簡単で、必要ない。もちろん、興味を持っている児童・生徒もいるだろう。そういう児童・生徒については、邪魔をせずに好きなようにやらせておけばいい。
おそらくは児童・生徒に対するプログラミング教育は手順を書くことになるだろう。手順を書くことはプログラミングの一部ではあっても、プログラミングと同じ意味ではない。たとえばだ。かなり純粋な関数型言語はどうか。Prologなどの論理型言語はどうか。それらにおいても手順は書けるとしても、理念的にはこの関数/述語の結果はこうであるという定義を書く。
先のstoryにて、awkがいいだろうと述べた:
UIの設計は難しいというStoryを以前書きました。関連しそうなblogがあったので、リンクをしておきます。
小さい子どもにコンピュータを触らせるということ-gooブログが一つ。
そこからのリンク先の小さい子どもにコンピュータを触らせるということというblogです。
どっちにしろ「直感的UIって難しいよね」という感じのエントリです。
Frame of Reference —The real issues at the heart of modern interface design.— というstoryが書かれていました。
このなかに、「アフォード」というような言葉があります。UIあたりの世界で、昔、少し言われたことがあります。アフォーダンスとか。言い出した方の主張はちょっと突っ走っちゃった感じもあって、「いやいや、それは無いから」という突っ込みも多々ありました。どっかの国かなにか忘れましたが、バス(だったと思う)の運転手が表示やら何やらいろいろ操作するボタン群があって、それが複雑そうなの…
身近なところだと、神話や昔話というのは、「なんでそうなるの?」という、非合理的に思える話の進行があったりします。そういう点について、よく言われるのかなと思うのは、次のようなもの。