コンピューターを使わずにプログラミング思考が身につく!? NHK for School の テキシコー が楽しい

「テキシコー」とは何か

 新型コロナウイルス流行以降、いろいろと世の中の環境が変わっている。従来の仕事のやり方が難しくなる一方、IT系の仕事が注目されている。また、リアルではない、ネット経由のコンテンツに興味が集まっている。  こうした変化のひとつに、子供向け教育コンテンツ動画が話題になったことがある。学校の一斉休校に伴い、こうしたコンテンツがネットで多く取り上げられた。一斉休校が解除されたあとも、この傾向は続いている。  そうした中、プログラマー界隈で話題になった子供向け動画がある。NHK教育テレビ(Eテレ)で放送された『テキシコー』だ。同動画は、NHK for Schoolのサイトで、Webから観ることができる。  『テキシコー』の名前の由来は「プログラミング的思考」だ。テーマは「コンピューターを使わずにプログラミング的思考を育む」である。対象年齢は小学3~6年・中学・高校となっているが、未就学児から楽しめる。もちろん大人も楽しめる。  この番組に関わっている人たちを見ると、これは絶対に面白いだろうと想像がつく。プログラミングに興味がない人でも、ちょっと番組を見てみようと思うはずだ。  監修は佐藤雅彦。年配の人は、『スコーン』『ポリンキー』『ドンタコス』『バザールでござーる』などのCMで名前を覚えているだろう。ゲーマーなら、PlayStationのソフト『I.Q インテリジェントキューブ』で記憶している人もいるだろう。社会現象になった『だんご3兄弟』の人でもある。そして、『ピタゴラスイッチ』の監修者でもある。  製作総指揮はユーフラテスだ。『ピタゴラスイッチ』の制作で有名なクリエイティブ・グループだ。そして、プロデューサーは林一輝。NHK Eテレの『Why!?プログラミング』や『香川照之の昆虫すごいぜ!』のプロデューサーだ。  このメンバーなら、必ず面白いはずだと感じさせられる。コンテンツは人が作る。人に興味を持ったら、コンテンツを追いかけるべきだ。私も全10回を見たが、非常に面白かった。というわけで『テキシコー』について、話をしていこう。

分解、組み合わせ、一般化、抽象化、シミュレーション

 『テキシコー』は、プログラミングという言葉とは裏腹に、現実のコンピューターのプログラミングについては一切触れない。プログラミングそのものではなく、背景となるプログラミング的思考にしぼって番組を作っている。  『テキシコー』では、プログラミング的思考として、以下の5つを挙げている。 1. 【分解】小さく分けて考える。 2. 【組み合わせ】手順の組み合わせを考える。 3. 【一般化】パターンを見つける。 4. 【抽象化】大事なものだけぬき出して考える。 5. 【シミュレーション】頭の中で手順をたどる。  このそれぞれについて、プログラマーの視点から話をしていこう。 ◆【分解】小さく分けて考える  これまで様々な人に接してきて、プログラミングに向いている人と、向いていない人というのを感じてきた。向いている人は、「処理の分解能」と私が呼んでいる能力が高い。機械などを見たときに、その動きをどれだけ細かく説明できるかの能力だ。  世の中には、音楽を繊細に聴ける人や、絵を詳細に見られる人、言葉の微妙な違いに敏感な人がいる。同じように、処理を細かく分解できる人がいる。  たとえば機械式時計を見たときに、「時間を表示している」という大雑把な見方しかできない人もいれば、「秒針が1周したら分針が1目盛り動く」という見方ができる人もいる。もっと細かく、歯車やぜんまいの動きを説明できる人もいる。  目の前の現象に対して分解して言語化する能力は、プログラミングにとって第一歩となる。 ◆【組み合わせ】手順の組み合わせを考える  物事をどの順番でおこなうと、どうなるか。その組み合わせをどうするかは、プログラムでは特に重要になる。なぜならば、プログラムでは多くの場合、同じことを大量の回数繰り返す。作業を3手でおこなうか、4手でおこなうか。1手の違いしかなくても、100万回繰り返すと100万手の違いになる。  たとえば毎朝職場で缶コーヒーを1杯飲む。出社して席に着いたあと、自動販売機に行って缶コーヒーを買ったとする。365日続けると365回、職場と自動販売機のあいだを往復することになる。しかし出社するときに、ついでに缶コーヒーを買えば、この時間を節約できる。あるいは、缶コーヒーを箱買いしておき、職場の冷蔵庫に入れておくという解決方法もあるだろう。1つずつ買うのではなく、まとめて買うというやり方だ。  手順の組み合わせを考えて効率化することは、番組中でも『ダンドリオン』というコーナーで繰り返し出てくる。 ◆【一般化】パターンを見つける  パターンを見つけるのは、現実世界をプログラムに落とし込むのに大切な考え方だ。  たとえば、木を描く必要があるとする。現実世界のスケッチなら、木を見て、その姿を描けばよい。しかし、パターンを見つけて、違うアプローチをすることもできる。  1本の太い線から、何本かの少し細い線を枝分かれさせる。できた細い線に対して、この処理を繰り返せば、細かな枝を作れる。最後に、線の先に葉っぱを付ければ木が完成する。  プログラムでは、このようにパターンを見つけて、そのパターンを使って世の中を再現することが多い。世の中からパターンを見つけるのも、大切なプログラミング的思考だ。
次のページ
プログラミング的思考を楽しむ
1
2