close-up-2178341_1920
 プログラミングを教育に取り入れることの重要性が声高に語られるようになっている。これは、誰でも知っている。オバマも、プログラミングの大切さについて何か演説していた。

 ただ、プログラミングの中身は何も知らないし、なぜプログラミングが大切なのかも、実感としてはよくわからない。まして、プログラミングの面白さなど、もはやサッパリだ……。半年くらい前まで、私はこの段階にあった。プログラミングについては「初心者以前」のレベルである。(念のために言っておけば、今でも、「初心者」に指先が引っかかっている程度である。) ただ、30歳代より上の文系人間は、ITに多少なりとも関係のある仕事をしているのでなければ、似たり寄ったりなのではないかと勝手に想像している。

 とはいえ、何も知らないというのはさすがにまずいと考え、数字と記号のかたまりにやる気を殺がれながらも、少し時間を使ってネットで情報収集したり本を買って読んだりした。自分ではプログラミングできないとしても、プログラミングの話題について行ける程度には勉強したいと 思ったのである。

 その結果、プログラミングについて「初心者以前」のレベルから、曲がりなりにも「初心者」と呼べるレベルに上がるためには、少なくとも2つの質問に答えられなければならない、ということがわかってきた。すなわち、 
  1. プログラミングの技術が身についたら、何をやってみたいのか。
  2. プログラミングの何がわからないのか。

 2つとも超難問であって、ある意味では、これらに答えられないから一歩も先に進めないとも言える。

 だから、まずプログラミングそのものではなく、上の2つの質問に対する答えを探すことに集中するのがよいと思う。特に、(1)に答えられないと、何を勉強したらよいかもわからないのではないかと思う。というのも、プログラミングにはいくつもの言語があり、何をやりたいかによって勉強する言語が違ってくるからである。

 初心者を対象にプログラミングとは何かを紹介した本がかなり出版されている。ただ、こうした本では、webをやりたいならこの言語、ゲームを作りたいならこの言語、などというふうに書かれてることが多いが、「初心者以前」の人間には、この程度でさえ、いきなり言われても意味がわからない場合がある。

 そこで、私が読んで最後までついて行けて、かつ、上の2つの質問に答える手がかりが得られる可能性が高い本を紹介する。それは、次の本である。





 大人向けの入門書で挫折したら子ども向けで再挑戦すればよい、と言いたいわけではない。これは、マサチューセッツ工科大学で開発された教育用のプログラミング言語Scratchを利用した入門書で、Scratchの基本的な使い方と、遊び方が紹介されている。(続編も出ている。)表紙も中身もいかにも子ども向け風だが、バカにしてはいけない。「初心者以前」の人間にとっては、かなり高度な内容まで含まれている。

 たとえば、前半で「物語メーカー」なるものの作り方を紹介するところがあるが、ここで、関数を再帰的に使って複数の要素を持つ文を作るスクリプト(←言葉の使い方が正しいかどうか自信がない)がいきなり出てきたりする。このあたりは、「変数」や「関数」の意味が一応わかってる中学生以上でなければ、スクリプトのサンプルをそのまま写すだけで、応用はできないと思う。

 プログラミングの何たるかがわからなければ、また、プログラミングによってどういう世界が開けるかがまったくわからなければ、これを読んで、Scratchで遊びながら実際にプログラミングを試すことをすすめる。

 何冊も本を読みくらべたが、この本は、機械を作ったり、計算を自動化したり、シミュレーションしたり、音楽を作曲&演奏したりと、いろいろな場面での、子どもにもできる活用法が載っている。明確に書かれているわけではないが、プログラミングとは「ものづくり」の一部であるというのがこの本の基本になっているように見える。

 「プログラミング」と聞いて、細かい記号と数字が並んだ画面以外何も思い浮かばないなら、この本は、具体的なイメージを広げる第一歩として最適だと思う。