プログラミング教室は不要!? 親子でプログラミングを学ぶ方法

2020年に、プログラミング教育が義務教育化されることから、今子供向けのプログラミング教室が活況です。書店やおもちゃ売り場には、知育玩具や教材が溢れて、どれを選んだら良いか分からない状態です。

そこで、ここでは子供にプログラミングを教える時のテクニックについて紹介しましょう。

筆者の紹介

まずその前に筆者の紹介です。筆者は残念ながら小学生の子供はおらず、この原稿を書いている現在で5歳の娘がいます。プログラミング教育のおもちゃなどはいくつか自分の研究用に購入したりしましたが、まだ若干早いようで、しっかり遊べている印象はありません。

また、プログラミング教室にも体験などには行きましたが、通っている教室などはありません。そのような立場での情報という点をご考慮下さい。

デジタルか、アナログか

プログラミング教材には大きく分けて、「アンプラグド(アナログ)で学べる」と謳った教材と、PCやタブレットなどのコンピューターを使って学べる教材があります。

実際、義務教育で導入されるプログラミング教育はアンプラグドに近いようで、必ずしもPCなどは使わないイメージのようです。とはいえ、個人的には家庭学習についてはオンラインを圧倒的にお勧めします。

 小学校でのプログラミング教育として、もちろんパソコンやタブレットなどのICT機器を使った授業も想定されていますが、ICT機器を使わなくてもできるプログラミング教育もあります。

「アンプラグド」と呼ばれ、専用ツールが出ているほか、紙と鉛筆を使ったり、体を動かしたりして、「プログラミング的思考」を学ぶ方法です。

「プログラミング教育」必修化の3大勘違い! 誰もが思い込みがちな間違いとは? https://dot.asahi.com/dot/2017121300044.html?page=1

とはいえ、個人的には家庭学習については、コンピューターを利用した学習を圧倒的にお勧めします。

アナログでの学習はあくまで入り口程度に留め、安いPCでも構いませんので、子どもに与えてあげると良いでしょう。

試行錯誤のプログラミング教室?

筆者は、娘を連れて純粋にプログラミング教室に通わせようかなと思い、いくつかの学校の体験に行ったことがあります。しかし、現状では残念ながら「ここなら通わせたい」という教室が見つけられずに、入会するのを辞めてしまいました。

筆者が体験に訪れた教室の場合、ほとんどはロボットを使った「アルゴリズム学習」がほとんどです。車の形、動物の形、ブロックを自分で組み立てるものなど、さまざまな形のロボットが存在していて、それらを生徒に触らせて学ばせようといった授業でした。

しかし、これらのロボットは結局できることは似通っていて「まっすぐ進む」「右に回る」などの動きのほか、ランプをつけたり音を出したりなどのちょっとした演出にとどまっています。

基本的には、プログラムを組み立てて、スタート地点からゴール地点まで行ってみようとか、途中で音を鳴らしてみようなど、問題集があってそれを解いていくイメージです。またここで問題なのは「正解」が存在してしまうと言う点です。

プログラミングの過程に正解は必要ない

プログラミング教室の体験で、最も違和感を持ったのは、娘が道順を間違えたときの講師の方の対応でした。右にゴールがあり、そこにロボットを進ませようという内容だったのですが、娘は間違えて左に曲がりました。その時、講師の方は左ではなくて、右だねと教えてくれました。

それ自体はまったく問題なく、優しく教えてくださったのですが、エンジニアーの私としてはかなり違和感を感じました。なぜなら、左に曲がっても、さらに左に3回曲がれば元に戻って、結果的にゴールにたどり着けます。

右に曲がるのは、「正解」ではあるものの、そのような学習が必要なのは「受験」や「資格取得」など、正解にたどり着かなければならない分野であり、プログラミングはそのような「正解」がない世界です。現在の状況や今ある条件の中から、最適な解を見つけ出すのが大切であり最初から最後まで正解をたどるのが正しい訳ではありません。

おそらく、講師の方は「教育業界」の方なんだろうと思いました。その方の理論、世界観では「間違えたから正解を教えてあげようというお気持ちだったと思うのですが、ちょっと筆者の考えとは違っていたため、体験で終了してしまいました。

もしお子さまが、2歩進むべきところが、3歩進んでも1歩戻ってからゴールにたどり着けば立派な解ですし、別の方向に進んだとしても、最終的にたどり着ければ、模範解答通りに回答できる必要はありません。むしろ、柔軟な発想で問題を解決したことを、優しく見守っていくと良いでしょう。

縛りルールを付け足してみよう

ある程度慣れてきたら、今度は「縛りルール」を追加してみると良いでしょう。例えば、先の問題で「左に進む」とあるにもかかわらず、「左には曲がれない」という縛りルールを追加してみます。この時も、ルールとして子供に伝えてしまうと面白くないので、「左に曲がる機能が壊れちゃった」など、世界観を作り出すとより面白く取り組んでくれるでしょう。

こうなると、いわゆる「優等生」タイプの子ほど困ってしまうでしょう。最適解が分かっているのに、それを使えないもどかしさを感じるかも知れません。むしろ、先の問題で正解にたどり着けなかった子ほど、柔軟な発想で思ってもいないような解を導き出すかも知れません。

こうして、限られた条件下で答えを導き出そうとするのはプログラミングにおいて、非常に役に立ちます。 プログラミングは、優等生でなくても楽しめるのも魅力の1つなので、その子の魅力を引き出してあげましょう。

自由な発想で作れる「道具」を与えよう

筆者が理想的と思える学習ツールは、SONYの MESHなどに代表される、プログラムで制御できるパーツです。

最初は「ボタンを押したら光る」程度のプログラムを作ってみましょう。後は子どもに任せていけば、大人では発想できないようなアイデアを考え出すかも知れません。人感や光、温度などの変化でさまざまなプログラムを作ることができます。

親は先生よりも、メンター(助言者)になろう

親子で学ぶ場合、親はどうしても「先生」になってしまいがちです。しかし、先の通りプログラミングには正解がありません。説明書通りに親が「教えてあげよう」としてしまうと、子どもの自由な発想を阻害してしまうでしょう。

そうではなく、子どもがやろうとしたことを助言してあげる「メンター」になっていきましょう。もちろん、親が分からなくても問題ありません。一緒になって調べ、一緒になって試行錯誤していけば良いでしょう。