プログラミング教育のこと

Home » Articles » プログラミング教育のこと
公開日:2020-01-27 更新日:2020-01-27

小学校でプログラミング教育が始まるとのこと。
文部科学省の「小学校プログラミング教育の手引」(第二版)によると、その狙いは以下の資質・能力の育成にある

  • 知識及び技能=必要な手順があることに気付くこと(言語や技能の習得自体を狙いとはしない)
  • 思考力、判断力、表現力等=記号の使い方により論理的に考えていく力(プログラミング的思考)を育成
  • 学びに向かう力、人間性等=よりよい人生や社会づくりに生かそうとする態度

「言語や技能の習得自体を狙いとはしない」のは正しいと思う。文科省の勧める研修教材「Scratch」という環境を使えば、Python だの PHP だの覚える必要はない。現場の先生にスキルやリテラシーが過度に求められる必要もない。
個人的な意見として、コンピュータ言語には(関数や変数などは置いといて)算数のセンスがまず必要なのだろうと思う。
上記の手引が言う記号、たとえば>や<、=といった演算子の概念を理解する必要はある。
もっとも、プログラミング教育が算数の力量をも伸ばす、という相乗効果の可能性は大いにある(理科や社会も)。
また子供の感性や感覚というものは鋭い。論理を超越し、大人の行動・言動や事物の本質を看破することさえあるから、これがスポイルされてはなるまい。
プログラミングというのは思考のプロセスに過ぎず、その目的は何か、結果が何を生むか、という想像力も大切なのではないかな?

小学生レベルのプログラミング例。次のマップ、日本全国のアメダス観測地点を半径10kmの円で示した(つまり気象観測の空白域を把握しやすくなる)。そして

もしも(標高≧1000mならば){赤色に塗れ}
その他もしも(標高≧500mならば){黄色に塗れ}
上記以外ならば{白色に塗れ}

という簡単なもの。各ポイントをクリックすればアメダス名称とその設置位置の標高を示す。
基礎データを除く javascript のコードは14行のみ。(さらに応用すればこんな感じ

※プロのプログラマの人はツッコミを入れたいだろうが、私はこの分野の専門家ではないので...(お約束)。

大手新聞社や放送局でも誤字や誤変換が頻発するようになって久しい。まるで「国語」という基本中の基本が等閑にされてはならないというアンチテーゼを見るかのようだ。
私も気をつけているが、ある意味、プログラミングよりも国語のほうが、はるかに難しいと思う(プログラムは間違えると動作しないが、国語は間違えても通じてしまいがちだし、また誤解も生みやすいから余計に厄介)。
ただ私の場合、一般のペーパーに書く文章と異なり、ここに書く文章は description や構造化データ等々、長いものに巻かれるべき事項を優先し、起承転結などの形式や禁則処理などは重視していない。さらに最後のほうでギャグや余談を放り込むという悪い癖がある。