見出し画像

なぜ、小学生にプログラミングを教えているのか

 NPO法人nat(ネットワークアシストたかおか)の活動として、20年近く小中学生にLEGO Mindstormsのプログラミングを教えている。
 きっかけは自分の息子とMindstormsの初代RCXでロボットやプログラムを作る時間を週に1,2時間共有したことだ。
 その様子は現在も日経クロステックのこうしろうのMindStorms日記に記録されている。
 また、近年は小学校の特別非常勤講師として、マイクロビットを使ったプログラミングを市内の小学3、5年生に時折教えている。
 ちなみにわたしの講師としての経験は大学、IT企業の新人研修、一般社会人向けセミナーと比較的ワイドレンジである。

 なぜ、小学生がプログラミングをすると良いと思ったのかを書いていきたい。なんでも昔と比較するのは年寄りの悪い癖だが、近頃の子供たちは柔順で習ったことはちゃんとできる真面目な子が多いように思う(昔の子供はもっと、めちゃめちゃだったような気がする)。
 その分、習っていないことはできなくて良いと子供も先生たちも思っているように感じる。効率の良い勉強のスタイルを子供たちが選択していると言ってもよいのかもしれない。しかし、自主的に考えたり、調べたりする訓練はしなくて良いのだろうか。「調べ学習の時間はあります」と反論されるかもしれないが、それは自主的な時間だろうか。
 自主的に考えるから、必要な知識を自発的に取得しようとするのである。

 教えられることを上手にできれば良いという期間はいつかは終わるが、現在では意外と長い。大学の卒論でさえ、先生が御膳立てしてくれるかもしれない。しかし、どれだけ粘っても、お金を払って教育を受ける期間はそのあと数年で終了する。
 すると「自分で考えなさい」、「それを工夫するのが仕事でしょ」という期間が突然始まる。そのときに、自分で考えたり、調べたり、工夫する経験をしてなかったら「マニュアルがないからできません」になってしまう。
もちろん、わたしはマニュアルを否定するものではない。マニュアル化できる仕事はマニュアル化しておいた方が楽だ。
 マニュアル化できないことは、上司に聞く、先輩に相談するという方法が考えられるが、パターン化の時代であった昭和は終わり、平成、令和と多様化が進んでいる。上司や先輩が自分の経験に基づきアドバイスできることの割合は減っている。そうなると、自分の頭で考え、必要な調査や調整ができる人が求められる。

 さて、プログラミングである。自分でこういう動きをする、あるいは処理をするプログラムを作ろうとイメージしたら、それを実現するロジックを考えないといけない。もちろんプログラム・ロジックを考えるためにはそのプログラミング環境で、できることを知らなくてはいけない。習ってないことやわからないことがあるので、ネットを使って調べたり、「こうするとどうなるのだろう」と小さなプログラムを書いて、実行してみて結果から学ぶことが必要になる。
 また、プログラムができたと思っても、ある条件下ではうまく行かなかったり、間違い(バグ)を含んでいたりする。何度もテストをしてうまく行くように調整しないといけない。プログラミングとはそういうものなのである。

 自主的に考え、自主的に調べる練習にはプログラミング教育が向いているのです。

この記事が気に入ったらサポートをしてみませんか?