プログラミングは「伝えるチカラ」の国語力
最初に「ゴメンナサイ」を言いますが、わたしは、いわゆる「国語のテスト」の点数は、あまりよくありません。なので、あまり説得力のある話ではないのですが、でも、「自分の考えていることを相手に伝える」という点では、相手が人間であろうと、コンピュータであろうと、同じだと思います。国語の点数があまりよくなかったので、余計にそう思います。
いわゆる手続き型のプログラミング言語の場合には、ちゃんと文法があります。しかし、文法だけではダメです。書いたプログラムの「意味」がちがっていれば、期待する結果は出てきません。プログラミングをしていると、文法的に正しいのに、ちゃんとした結果が出てこないなんてことは、しょっちゅうあります。
ビジュアルなプログラミング・ツールの場合には、もっとあいまいな表現の仕方をします。どんな書き方をしても、それなりに動いてしまいます。でも、期待する結果を得るためには、きちんと意図を伝えなければなりません。手続き型のプログラミング言語でも、ビジュアルなプログラミング言語でも、「コンピュータを相手にして、こちらの意図をきちんと伝える」という点は、同じです。
相手の機嫌をそこねないように、うまく伝えなければなりません。
これからの教育では、プログラミングについて、主体的・対話的に、深く学ぶことが求められます。わたしは、授業の場面で、児童・生徒が次のような会話をすることを想定しています。
A君「ねえ、ねえ。どうしても、うまく動かないんだけど」
B君「どこを、どうしたんだい」
A君「ここのところを、こういう風にプログラムしたけど、こうなるんだ」
B君「えー? おかしいね。こういうときは、どうなるの?」
A君「そのときには、こうなってうまくいくんだけど、こっちの場合のときは、うまくいかない」
B君「あ。そうしたら、もしかすると、こういうことかもしれないよ」
A君「え? そうなの? 知らなかった。じゃ、やりなおしてみるよ」
なにかの問題を解決していくときに、自分の状況を的確に伝えることは必須です。そして、対話しながら問題を解決していきます。
ですから、「伝えるチカラ」の国語力は、ぜひとも必要だと思います。