とにかく2020必修化に向かって多くの教材が出てきていますが、これまでの経験上での私見ですが…
1.何か動くものが欲しい
画面だけで結果を見るものよりは、やはり何か物体が動いて欲しいです。
画面だけで動くプログラムで小学生に何かを作らせようと題材を考えた時、業務的なプログラムを作らせるわけにはいかないとなると、自然にゲーム的なものを考えがちです。
ゲーム的なものになると、どうしても遊び感覚が強くなり、学ぶプロセスより、完成して動かしたい欲求が強くなりますから、こうなるとプログラミング学習というところから少し離れてしまいます。
やはりプログラミングの結果、何かが動いたり光ったりする相手があれば、それをコントロールしたいという欲求がでますので、パソコン以外のボードやロボットなどがある方が学習は進みます。
2.パソコンかタブレットか?
プログラムを作る道具は、パソコンかタブレットか?
クムクムを体験会で触っていただくと「うちにはパソコンないからタブレットでできないの?」とよく質問されます。
プログラミングを行う時に必ず使用する道具はパソコンですね。開発現場でタブレットでプログラミングをしている姿を見たことがありません。プログラミングはパソコンで行うものです。ですから、プログラミングを習得するのであれば、パソコンを使ってその道具イメージも子供達には理解して欲しいと思います。
キーボードとマウスを使って入力しながら作っていくプロセスもプログラミングに大切なのプロセスです。
3.動作する何かに欲しいもの
命令によって一方的に動くパーツだけではなく、動作相手から入力する、スイッチやセンサーなどは必ず欲しいですね。
モーターやLEDなどの命令によって動くパーツだけだと、ただ単純に命令を並べて動かす、単純なシーケンスしか学習することができません。
スイッチやセンサーがあった場合、このスイッチが押された時どうするか?センサーからこんな信号が入ったらどうするか?という、判断という部分を作る必要がでてきます。
また、こういった入力機器から入力される信号やデータを扱うためには、プログラミングで大切な変数という概念も学びます。
相手を動かすことは出力、そして相手から受けるものは入力、そして、判断と変数、入力にはループがセットとなる事が多いので、これでプログラミングの全ての機能を使いシーケンスとアルゴリズムを自然に学ぶ事が出来るようになります。
複雑なテクニックではなくとも、プログラミング的思考を学ぶのであれば、変数と判断はかならず使わせたいものです。そして、それを自然に学ばせるために、入力機器は欲しいものです。
パソコンのマウスやキーボードを入力として使うこともありですが、今後のIoTやAIを考えて、やはり、パソコン以外の単体で全てを完結できるものがよりよいと考えます。
4.プログラミングツール
プログラミングは、小学生を考えた時、必要以上のキーボードでコマンドを打つ事は避けたいですね。入力したコマンドの打ち間違えで動かない!というのは、小学生にはまだ少し辛いものがあります。
経験上、ローマ字と数字の組み合わせのコマンド、C1(0)程度まではまだなんとか耐えられますが、C1(0,2)などカンマやもうひとつの数字までになると、嫌になる子が多くでてきました。
また、こうなるとカンマはキーボードのどこにあるのか?不要なスペースは入っていないのか?など多くのチェックポイントが生まれます。
また、キーボードを打つ事を嫌がる子も結構多い事も確かです。
プログラミングはキーボード入力は避けて通れませんが、まずは思考を身につけるという目的からは、できるだけ単純にしてあげたいものです。
小学生には、まずは、余計な事をさけ、出来るだけプログラムを考える時間を与えたいので、やはりスクラッチの様な、コマンドブロックをマウスで重ねていくタイプが最適でした。
5.無駄な時間をできるだけ無くす
プログラミング後の面倒な作業や時間は思考を妨げます。頑張って作ったプログラムはできるだけ手軽に動かして、気軽に治したいものです。そうすれば、間違える事に対して恐怖と面倒さを感じずにどんどんトライできる様になります。
ケーブルの抜き差し、コンパイル、ダウロード絶対に回避したい要素です。
5.出来るだけ想像しやすいお題
小学生にプログラムを作ってもらう時、「何かつくりたいか?」と聞くと、ほとんどの場合、「お題ちょうだい」と言われます。
この時のお題も、出来るだけ子供が想像しやすいものが進みが早かったことがあります。そして、想像しやすいお題は、子供達はさらにアレンジしやすいので、創造性もアップします。
お題はできるだけ単機能で単純なものがよく、物足りないくらいのお題をだします。複雑で完璧なお題は作るのも大変で疲れてしまいます。創造性も欠いてしまいあまり良いことがありません。
子供達は早く動かしたい!中途半端でも動かしたい!そして動いた結果を見てほしい!という欲求が強いです。ですので、できるだけ単純な機能のお題で、まずはOKを出してあげること。そのあとはどんどん子供の力でアレンジをしてもらいます。
6.手軽なもの
とにかく手軽で気楽に始めて終われるもの。準備や片付けが面倒なものは、その時間が苦痛になってせっかくのプログラミング意欲を無くしてしまいます。
ポンと出してパッと始めてポンとしまえるもの。そんな手軽なものが理想です。
最後に
これらは、あくまで私が7年間ほど子供達と色々やってきた経験で得られた私のデータです。
30人×7年間=210人ほどの子供達と色々触れ合う中で得られたあくまで私見です。