幼児がプログラミングを学ぶなら?ちゃんと21世紀型スキルから考えてみる
探プロはlittleBits Advent Calendar 2016 に参加しているので
僭越ながら22日目を担当させて頂きました。
探プロ的にlittleBitsを語るなら、あまり他の人が書かないテーマで。
ということで、今後開催する予定の幼児向けプログラミング講座を題材に書いてみます。
探プロのワークショップは主に小学生がターゲットなのですが、ワークショップにはときどき幼児さんが紛れて参加してくれます。
お兄ちゃんやお姉ちゃんに付いてきて、部屋の片隅で気ままにlittleBitsと戯れている小さなお子さんたちの姿はいつもホノボノしますね。
小学生をターゲットにしているのは、ワークショップの趣旨を理解してくれて、会話や文字を使ったコミュニケーションがとれる年齢を考慮してのことなのですが
先日知人から、幼児向けにはできないか?
と打診され、幼児向けのプログラミング学習というものを真面目に考えてみるのもおもしろいと思いました。
とはいえ、通常の探プロのやり方では難しすぎる・・・
言葉も通じない・・・
(親がいたとしても)一人での工作は難しいし完成しないから達成感がない・・・
どうするか?
伝えるプログラミングの概念はアルゴリズムにするとして、どうやって幼児に学習させるか?
難しすぎず、簡単すぎず、飽きずについてこられるように、あくまでも楽しく。
さてどうしましょう。
その前に、簡単にlittleBitsについて説明しておきます。
littleBitsはBitと呼ばれるモジュールを磁石で繋いで電子回路を組み立てることのできる学習教材です。
国内も含め世界中の教育現場に導入されていて、レゴブロックのように繋げて遊ぶだけでも十分に楽しめるだけでなく
ANDやNANDを示すモジュールを使って論理回路を組んだり、Arduinoと連携して高度なプログラミングによって操作したり、ネットワーク経由で電子回路を動かしたり、など幅広く学習する機能を備えています。
ちなみに、こちらから買えます。
(買う予定の方はご一報いただけると良いことがあるかも?)
とても簡単に扱えるのですが、探プロではアルゴリズム学習を目的に使うので
基本的なことを抑えつつ、各モジュールの役割を機能として捉えられるように進めていきます。
littleBitsを初めて触る小学生向けに用意している入門編のワークショップで見せるのはこんなスライドです。
littleBitsのモジュールは大きく4つの種類に分かれています。
1つは電源(青)。
そこに、ピンク、オレンジ、緑のモジュールを磁石で繋げていくわけですが
それぞれ役割があるんですね。
※厳密には、ピンクのモジュールの中にも制御(強弱など)するものが含まれるので正確な分類ではないのですが、大まかに捉えるのならこれで十分です。
電源は1つですが、他にもたくさんの役割をもったブロックがあります。
そして、こんな感じで試しながら、少しずつ難易度を上げてlittleBitsの使い方とアルゴリズムの基本形を覚えていきます。
さて、これを幼児向けにどうアレンジするか?
このままでは難しいでしょうし、何より正解できるまでに時間がかかりすぎます。
そこで、発想を逆転させました。
デバッグでやってみようかと。
プログラムに間違いがあって期待した通りに動かないとき、「バグ(bug)」がある、と言います。
このバグを取り除く作業をデバッグを呼ぶのですね。
プログラミングをする上でデバッグの作業というのは大きなストレスです。
自分の書いたプログラムコードがさくさく動いてくれる方が楽しいにきまっているので、思い通りにいかなくて「なんでろう?どうしたらいいんだろう?」と考えることは基本的にはストレスなのです。
でも、私はこのデバッグこそが、論理的思考力や問題発見能力を鍛えるのに有効な体験だと考えていて、これまでに何度もBlogで書いてきました。
例えばこういうのとか
こういうのとか。
ただ、これまでのワークショップではなかなかデバッグをテーマにしたものをやりづらかったのです。(だってストレスになりますからね)
これをあえて、幼児向けにチャレンジしてみようと考えました。
名前をつけるなら、「バグ(虫)とりゲーム」かな。
そう、ゲームにしてしまえばストレスじゃなくて楽しめるはず!
まずは電源の存在を知るところから始めます。
さぁライトをつけよう。あれ?つなげても光らないね?
電源をONにしないとつかないのか!
次は命令モジュールの使い方を覚えます。
あれ?電源はONなのに光らない?
どうする?
これはボタンの形をしているのですぐに分かりますが、圧力センサーだとちょっとわかりづらいですね。
こんな感じで、ピンク色のモジュールに何か操作を加える(=命令する)と、緑色のモジュールが動く(光る、回る、など)という基本的なところを覚えてもらいます。
そうすると、たとえばこんなクイズも考えられるようになるはず。
電源を入れるとどうなるだろう?
正解は、左の2つのライトモジュールだけが点灯して、右端にあるモーターは動かない、です。
じゃあ、どうすれば動くようになるでしょう?
(答えは、圧力センサーに命令する or 圧力センサーを取り除く)
つまり、緑色(結果の役割)のモジュールの次にピンク色(命令の役割)のモジュールを繋いでも、何も起きない、ということが分かります。
これは、命令して結果が出る、というプログラムの超基本的な考え方を学んでいることと同じです。
これを応用していくと、じゃあピンク色とピンク色を繋げたらどうなるか?
緑色と緑色は?
など、いろいろとバリエーションを作ることができます。
ちなみに、緑色と緑色を繋ぐと直列に実行されますし、分岐のモジュールを使えば、並列で実行できます。
組み合わせや、オレンジ色(制御の役割)のモジュールを加えることで難易度はどんどん上げられますし
バグを見つけるだけでなく、回路を見せて、電源を入れたらどんな動きをすると思うか?
といったクイズにすると大人でも良い頭の体操にもなりますね。
さらにlittleBitsには、ANDやOR、NAND、NORといった論理演算を使ったアルゴリズムも学ぶことができます。
※論理演算とプログラミングの関係についてはこちら。
そこまでいくと小学校高学年か中学生レベルかな??
それはまたの機会に書いてみます。
さて、littleBitsを使った幼児向けのプログラミング学習はいかがでしたでしょうか?
あれ?21世紀型スキルの話は?
そうでした。ここまでで終わってしまうと単なるアルゴリズムのお勉強で終わってしまうので、他との差別化ができません。
例えば幼児向けには、試行錯誤しながら思考力が身につくと謳うプログラミング教材がいくつかありますね。
たとえば、積み木を組み合わせて、そのアルゴリズム通りにロボットが動くCubetto。
とても素敵な教材だとは思うのですが、できることが非常に少ないので、何回か触ったら飽きてしまうような・・・
応用が効かないのでちょっともったいない気がします。
思考力は身につくけれど、他には??
じゃあ、探プロはどうするか?
【考える力】【技術を使う力】はOKですが、それ以外に
【なかまと協力する力】【社会を知る力】はどうしましょうか?
【社会を知る力】
今度のワークショップのテーマは「楽しい家をつくろう!」としました。
子どもたちには好きなように家を設計して工作してもらいます。
当日は、家の形になるダンボールを使って、切ったり貼ったり、ここにlittleBitsを取り付ける予定です。
これは以前のワークショップで私が作ったサンプルですが、イメージとしてはこんな感じです。
自分の作る家にはどんな人(動物?)が住むのか?
その家はどんな構造になっていて、その人(動物?)はどんな生活をするのか?
その家に住むとどんな楽しいことがあるのか?
家というものを通じて、そこに暮らす家族という子どもたちにとって一番身近な社会を感じてもらうことを期待しています。
【なかまと協力する力】
ワークショップの最後には、みんなの作品をつないで1つの街を作ろうと思っています。
物理的に繋ぐのは難しそうですが、他の子の作品と自分の作品が「街」という1つの作品になるとき、子どもたちはどんな協力をすることになるのでしょうか。
この辺は、当日にどんな反応を見られるか一番楽しみにしているところです。
このワークショップはトライアル版を1月21日(土)に東池袋の日の出ファクトリーにて行う予定です。
見学などご希望の方はこちらまでご連絡ください。
info@tanpro-lab.jp
反応が良ければ、次回以降も継続していく予定です!