オープンソースこねこね

Webプログラミングなどについてあれこれ。

家庭での小学生向けプログラミング教育についてまとめと、考察

要約と結論

  • 小学生向けプログラミング教育では、実用的なコードが書けるようにはならない。
  • そもそも小学生向けプログラミング教育は、プログラミング「技術」の習得が目的ではない。
  • コンピュータを目的に応じて、制御できることを知る、体験する、ということが目的。

このような性質上、学習効果が客観的判断がしづらい領域なので、あえて義務教育外でやる(家庭で教材を利用したり、スクールに通わせたりする)場合は、子どもに具体的な技能向上を、過度に期待すべきではない。それよりも、子どもが楽しめることを重視し、その上でそれをやらせるか否かの判断は、各家庭が許容できるコストで考えればよい。

注)2017/11現在の私見です。

背景 - プログラミング教育について、考えはじめる

私には小2の娘がいるのですが、先日、奥さんから、とあるプログラミング通信教材を提示され「2020年からプログラミングが必修になるので、娘にコレやらせてみようと考えてる。はじめたら、みて教えてあげてくれない?」と相談されました。中身をざっと見たところ、簡単なロボットを組み立てて、iPad上のビジュアルプログラミング環境でプログラミングして、ロボットの制御を行うというもの。Web系の職業プログラマやっている自分の第一印象としては「おもちゃとしては面白いが、これでプログラミングができるようになるとは、思えない(のであまり意味がない)」でした。

ところで、よくよく考えてみると、私の考えている「プログラミング」も相当限定的で、例えば私の場合、WebサービスiOSアプリを作ることはできるが、PS4のゲームや、電子レンジの制御プログラムは作れないわけです。そのような限定された認識で「プログラミングができるようにはならない」という判断をするのは、早計ではないか。さらには昨今の「プログラミング教育」自体について、よく調べたわけでもないのに、教材の良し悪しを判断するのもどうかな、と思ったわけで、ちょっと調べてみました。

小学生のプログラミング教育とは

私は普段プログラミングを仕事にしているわけですが、その立場で考える「プログラミングの勉強」とは、プログラミング言語の習得、アルゴリズムやネットワークプロトコルの理解、具体的な開発ツールの使用方法の習得、などが挙げられます。当然、これらは私個人のコンテキストに強く依存する考えで「小学生のプログラミング教育」とは別なはずです。では「小学生のプログラミング教育」とは具体的にどのようなものか。文部科学省が公開している資料を調べると、以下のようなものが見つかります。

小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ):文部科学省

いくつか興味深い箇所を抜粋します。

プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。

(中略)

子供たちが、情報技術を効果的に活用しながら、論理的・創造的に思考し課題を発見・解決していくためには、コンピュータの働きを理解しながら、それが自らの問題解決にどのように活用できるかをイメージし、意図する処理がどのようにすればコンピュータに伝えられるか、さらに、コンピュータを介してどのように現実世界に働きかけることができるのかを考えることが重要になる。

(中略)

小学校におけるプログラミング教育が目指すのは、前述のように、子供たちが、コンピュータに意図した処理を行うよう指示することができるということを体験しながら、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと、各教科等で育まれる思考力を基盤としながら基礎的な「プログラミング的思考」を身に付けること、コンピュータの働きを自分の生活に生かそうとする態度を身に付けることである。

(中略)

プログラミング教育の実施に当たっては、コーディングを覚えることが目的ではないことを明確に共有していくことが不可欠である。

抑えておきたいポイントは

  • 具体的なプログラミング技術(コーディング)を習得するものではない。
  • コンピュータを制御する体験と、その際の考え方(しばしば「プログラミング的思考」と言及される)を学ぶ。

です。これは算数や国語のように、学習効果がテストによる採点で明確になるものとは、ちょっと性質が違う学習領域です。

体験と考え方の学習

わたしの小2の娘は、オクラを小さな鉢で育てて、収穫するまでを、小学校でやったのですが、これは体験と考え方を学ぶ類の教育だと思っています。つまり、植物が実際にどう育っていくかを体験し、土に植えて、水をあげ、太陽にあてるという手順や、植物栽培の基本的な考え方、を学ぶわけです。

この記事の最初の方に書いた、職業プログラマとして「これでプログラミングができるようになるとは、思えない」というプログラミング教育への第一印象ですが、先程のオクラ栽培に、当てはめて考えてみると「オクラをこんな小さい鉢で育てても、実際の農業ができるようになるとは、思えない」と言っているのに近いわけです。それは当然のことで、初等教育では実践的な農業技術を、習得させる必要なんてないからです。

私たちの生活に、今や当たり前に存在するもの、その成り立ちやしくみを体験を通して知ることは、とても重要です。現代において、その領域にコンピュータシステムが含まれたというのが、プログラミング教育の意義だと理解しました。技能の習得を重視する、より高度な教育は中等、高等教育、あるいは本人がより深く興味をもった時に行えばいいのでしょう。

プログラミング教材、教室など(小学生低学年むけ)

さて、プログラミング教育の意義を認めたところで、プログラミング教室や教材、実践事例などをいくつか調べてみました(私の娘が小2なので高学年向けや中等教育以降を対象にしたものは、基本的に除外しました)。以下は参考にした外部サイトです。

プログラミング教育実践ガイド|学校教育分野|教育の情報化

プログラミング教育ニュースまとめ | リセマム

簡単にまとめると

  • ビジュアルプログラミング環境の利用が多い。
  • 特にScratchの利用がよくみられる。
  • ビジュアルプログラミングの入力端末にタブレットを使用するパターンも多い。
  • 工作や簡単なロボット制作などと合わせて、物理デバイスの制御をプログラミングで体験させるパターンも多い。
  • もっとも簡単な事例では、タブレット上でのビジュアルプログラミングで絵を動かすというもの。

以下が私の雑感となります。

  • 前述した文部科学省のプログラミング教育に基づくのであれば、総じて妥当だと思えるカリキュラムが多い(私が奥さんから提示された教材も、妥当だと思いました)。
  • 特に物理デバイスの操作をプログラミングするのは、体験として良さそうにみえる(私の娘が工作好きなのと、物理的なものを実際に動かせるというのは、興味を引きそう)。
  • プログラミング教育教室の料金(月額1万あたりが多い)は、総じて高額かなと思う。

ちなみに、これを期に簡単な電子工作的なものを自分でやってみて、それを娘に教えてみればどうかな、と思いつき、Raspberry PIを買ってみましたが、1から始めるとなると、他にも初期セットアップ用のモニタやキーボード、マウス、入門書、電子工作用基本パーツセットとかが必要で、すでに2万円ほどかかってしまいました。また自分で、いろいろ調査する時間もかかってしまいます。私の場合は、私自身の趣味と勉強も兼ねているので、いいのですが。

いずれにしろ、前述したように、初等学級の子どもに対するプログラミング教育は、技術習得の場ではなく、体験すること自体が主たる学習内容になるので、そこに明確な成果を求めると、残念な結果になるかもしれません。端的に言うと「プログラミング教室に通ったら、PCが使えるようになって、将来IT系の仕事にこまらなくなる」と考えるのは、間違っているということです。義務教育外でお金を払ってやるのであれば、子どもが楽しんでやれることが、最重要で、そうでなければ、継続してやる必要性はないと思います。本人がつまらないと、体験としては、あまり得るものがないのではないかと思います。

これを踏まえて、あとは金銭コストに親が納得できればよいかなと思います。

それで、どうしたか

結局、私の家ではどうしたかというと、ひとまず今年、2017年内までは保留としてます。私が一度、自分で電子工作してみて、多少なりとも、何か教えられそうなら、まずそれをやらせてみようかな、と思っているためです。それで、うまくいかなかったら(私が教えられそうにないなら)、教材の利用を、わりと前向きに考えています。

ちなみに奥さんに見せてもらった教材はこれです。

www.zkai.co.jp

組み立てキットが2万5千円くらいします。高いとは思うのですが、私がいま揃えているRaspberry PI関連もすでに2万ちかくになっているので、まあ必要な価格と判断。あと専用のテキストやカリキュラムなどがあることを考えると、月5000くらいなら許容範囲かな、と考えてます。自分でなにか教えるとなると、子どもの興味を引くように、この辺もちゃんと考えなければならないのですし。

ただ、外部のプログラミング教室に通うとなると、月々1万〜と高額、親による送り迎えも必要になると思うので、ウチでは今のところ考えていません。

余談

でも小学校は、プログラミング教育の前に「連絡帳」とかいう物理媒体の運用を廃止して、直ちに電子化してほしい。