テキストプログラミングで
プログラミングのみを学ぶことが重要
今、プログラミング教育で必要とされているのは、「テキストプログラミング」で「プログラミング(のみ)」を学ぶことと私は考えます。
テキストプログラミングが重要な理由は、第1に「コンピューターとの対話をより実感できる」ことです。「AからBに線を引く」という命令をプログラムで下せば、画面上のAからBに線が引かれる。「線の色を白ではなく青にする」と命令すれば、青で線が引かれる。自分が1行1行書いていることをコンピューターが実現するので、何を伝えているかがわかります。
またエラーが起これば、そのエラーの部分でコンピューターに意思が伝わらず、対話が成立しなかったんだな、ということもわかります。ビジュアルプログラミングでは、絶対に動くブロックの組み合わせを使うので、何も動かないということがあまりありません。おかしな動作になることはあっても、だいたい何かが動いてしまいます。
エラーが起きたときには、それを直す必要があります。このプログラムの修正を「デバッグ」と言いますが、テキストプログラミングでは、とても基本的なプログラミングでもその手法を学ぶことができます。しかしビジュアルプログラミングには、はっきりしたデバッグの手法がほとんどありません。ですから、本格的なプログラミングに生かすことができません。
さらに、テキストプログラミングでは「キーボードに慣れる」ことができます。また「本格的なプログラミング言語と文法が共通している」ため、いろいろな言語へ応用していくことも可能です。何か1つ学んでおけば、その後、他の必要とされる言語へ学びを続けやすいのです。
また、テキストプログラミングでもビジュアルプログラミングでもよいのですが、私が今の小中高のプログラミング教育に期待するのは、「プログラミングのみを学べる」、もしくはプログラミングの比率を増やすようにすることです。
日本に必要なのは実装力です。だからSTEM・STEAMのような工作やIoTの電子回路制作は重要ではありますが、優先度を下げてもよいのではないかと思うのです。あるいはプログラミングがある程度できるようになってから、その比重を増やせばよいのではないでしょうか。
前述したように、ロボットやIoTは目に見えて触れられるものなので、子どもたちも楽しんで取り組めます。子どもの興味関心を引くという点では非常に良いことなのですが、ことプログラミングを教えるときには、そちらばかりに流れないようにすることには気を付けてほしいと考えています。
(クライス&カンパニー顧問/Tably代表 及川卓也、構成/ムコハタワカコ)