プログラミング必修化とはいうものの、
プログラミングをなぜ学ぶの? 必要性があるの? むずかしそうでイヤ!
とモヤモヤしている方に特にお届けしたいのが、Scratch開発グループのミッチェル・レズニック氏のTEDでのプレゼンテーションです。
プログラミングを学ぶことはそれに関係した職種に就くかに関わらず、アイデアを形にする過程、順序立てて考えられること、協働から生まれる効果など、すべての分野で役立つものを育んでくれます。
プレゼンテーションの中から特に共感した部分を引用します。(こちらより部分的に抜粋、句読点追加)
我々はみんな若い人が「デジタル世代」と呼ばれていることを知っています。 若い人たちがウェブを見たりチャットやメールやゲームをすることに抵抗がないのは疑いようがありません。しかしそれは技術を上手に扱えることとは違います。
若い人たちは新しい技術に対して豊富な経験がありそれらを操作することに慣れています。しかし新しい技術で何かを作ったり自分を表現するとなると、それほどでもありません。それはまるで新しい技術で読むことはできても書くことはできないようなものです。
・
(Scratchプログラムで変数を使うことを覚えた少年について)彼は興奮して私の手を握ると「ありがとう ありがとう」と言いました。その時思ったのは、先生が変数を教えて生徒に感謝されることなんてどのくらいあるのだろうかということでした(笑) 授業ではほとんどそのようなことは起きません。それは授業で生徒達が変数を習うときになぜ変数を習うのかを知らないからです。それは彼らが自分で使うものではないのです。
Scratchでこのようなアイディアを習うときは意味やモチベーションのある方法で学ぶことができます。なぜ変数を学ぶ必要があるかを理解することができます。子供達はより深くより良く理解します。プログラミングを通して学び、学ぶためにプログラミングすることで意味のある文脈で学ぶことができます。それは物事を学ぶ最上の方法です。ビクターは大人になったときにプログラマーやコンピューター科学者になるのでしょうか?ならない可能性の方が高いと思います。しかし彼が何をすることになろうとも、ここで学んだデザインのスキルは利用することができます。販売責任者になろうとも機械工やコミュニティーのまとめ役になろうとも、このようなアイディアは誰にでも役に立つものです。
創造的に考えるスキル、系統的な推論、協力して働くこと。Scratchでプログラムを書くことで学ぶこのようスキルは、どのような仕事に就こうとも役立てることができるのです。
私も子供たちにプログラミングを教えていた経験がありますが、最初はパソコンも触ったことのなかった子がScratchの使い方を覚えて、みるみるうちに自分でゲームを作ったりプログラムをアレンジしたりすることができるようになりました。
子供たちの発想力やアイデアは型にはまらず個性的でとても素晴らしいものですが、それを形にする方法を知らないがために実現を諦めてしまうことも少なからずあると思います。
実際にレッスンの中で生徒が「ゲームで作りたい動きがあるけど、どう作ったら良いかわからない」ということがありましたが、「これを使ってみたら?」とスクリプトの存在を教えたり、違う視点から考えてみることなどを提案したところ、彼の望んでいた動きを実現することができました。
こんな風にちょっと手掛かりやきっかけを提示するだけで、子供は自身の力で何倍にも発展させることができます。
(その時の嬉しそうな、達成感に満ちた表情、今でも忘れません。)
学びを続けるためには、こういうひとつひとつの達成感の積み重ねが欠かせないのです。
達成感は自信や勇気となって、新たなことに挑戦することや、最後までやり遂げることを後押ししてくれます。
パズルのように感覚的かつスピーディにプログラムを作れるScratchは、プログラミングを学ぶことはもちろん、子供たちの将来の土台作りにも役立ってくれると思います。
『ニャアのスクラッチ』は親子で行うことを前提にレッスンを作っています。
プログラミング的思考をあらゆる学びに役立ててもらったり、親子のコミュニケーション(or コラボレーション)のきっかけにしてもらうことができれば幸いです。