教師が理解すべきプログラミング教育の真の問題点

プログラミング教育必修化には様々な問題点があると言われています。
一般に挙げられているものはこのような点です。
  • 教師の技術・経験の不足
  • 既存の授業時間が削られる
  • 環境整備の予算
こうした点も確かに問題としてあると思いますが、真の問題点はこれらとは別に、教師自身の中に存在しています。
技術ばかりを教えてしまう
プログラミング教育というと、つい「この命令文はこういう物で、こんな時に使います」といった授業をイメージしがちです。
しかし、プログラミングを学ぶことの最も重要な目的の一つは、これまで学校教育の中で広く教えられてこなかった、新しい思考法を子供たちに身に着けさせることです。
実際のプログラム開発の現場では、大規模な開発であれ、個人であれ、毎回、以下の図のような事をしています。
もしかしたら「こんなの、小学生には難しいよ」と感じられるかもしれませんが、難しいのは用語だけです。
子供たちの中にある、ふわっとした「こんなものを作りたいなというイメージ」(ユーザー要求)を、いくつかの部分に分割して、もう少し具体的にします(基本設計)。
さらに個々の「機能」に分解(機能設計)し、最後にプログラムの命令の組み合わせ(詳細設計)に落とし込みます。
子供たちがやりたい事のイメージを、自ら具体化するための思考法を学ぶことが、プログラミング教育の最も重要な意義です。
プログラムのエラーが出る事が「残念なこと」という印象を与えてしまう
プログラミングでエラーが出れば、意図した動きにならないので、ちょっと残念な気持ちになるかもしれません。
しかしこれは、子供たちにとっては試行錯誤をする新たなチャンスを得たことになります。
一般にプログラミング言語を習得するには、かなりの時間が必要と言われています。
この時間の多くは、こうした試行錯誤をしている時間です。
試行錯誤はいいことだ」という意識付けをしてあげることで、子供たちが目の前の問題に向き合って、自ら答えを導き出す力を育むことができます。
正解を示してしまう
授業の終わり頃に、「今回のプログラムの正解はこれです」といった答え合わせをしたくなるかもしれません。
プログラミングの世界には、「たった一つの正解」というものが存在しません。
プログラムは4種類あります。
  • (エラーで)動かないプログラム
  • (バグがあって)動くけどなんか変なプログラム
  • 普通に動くプログラム
  • より良く(速く、便利に)動くプログラム
どんな命令文の組み合わせで作ろうが、当初のイメージに合っていて、動くプログラムであれば、それがその子供の正解なのです。
教師が自分のプログラムを「正解」として示すのではなく、「先生はこう作ったよ」と、ご自身のやり方を紹介する形で提示し、みんなそれぞれの正解が存在することを意識付けてください。

詳しくは、日本セクレール®教育協会先生のためのプログラミング講座の中でしっかりと解説します。

本講座はmicro:bitを使った授業づくりをするための技術面だけではなく、先生方の意識や子供たちへどう印象づけるかについても学んでいただける講座です。

小学校の先生に限らず、ぜひご参加くださいませ。

STEAM Tokyoでは、学生のための次世代プログラミング教育を行っています。

近々、体験会を開催予定です。

体験会の詳細は追ってこのブログで告知させていただきます。

Follow me on Twitter