プログラミング的思考とテクノロジーの感性

プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。

–文部科学省 小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm

 

子どもへのプログラミング教育というと、「プログラミングのスキル(コーディングスキル)ではなくプログラミング的思考」という話がよく出てきます。

プログラミング的思考 は、ざっくりいうと、論理的思考の一部、みたいなもの、でいいかと思います。

 

それはすごく正しいと思っています。僕も、小さい子どもに、コーディングの細かいスキルを習得させることは重要ではなく、プログラミング的思考を伸ばすことの方が大切だと思います。

ただそうすると、アンプラグド(PCなどを使わない、紙などでのコンピューターサイエンスなどの学習)でもいいのでは?という疑問が出てきます。

コンピューターサイエンス、プログラミング的思考を伸ばすという目的では、そうかもしれません。もっといえば、別に将棋でも科学の実験でも、ツールはなんでもよい。

論理的に考えるとそのとおり、、なんですが、そのロジック展開に自分の中で違和感がありました。コンピューターと触れ合うことは必要ないのか、いやそんなことないのでは、、という違和感。それが最近、腑に落ちました。

 

 

それは、世界の広がりと感性 という軸でも考える事。

例えば外で子どもを遊ばせるときに、狭い公園より広い公園、もっといえば大自然の中で遊ばせられたらいいなと思いませんか?

音楽も、YouTubeやスマホ、CDで聞くだけじゃなくて、コンサートやライブを味わってほしくないですか?

スポーツも、プロのプレーを間近で見たくないですか?

何事も、もっと世界は広いんだよ、すごい体験いっぱいできるんだよ、って感じて欲しい。

 

コンピューターがあることで、できることが、世界がすごく広がるんですよね。プログラミングに限らず。

映画を作ったり、音楽を作ったり。写真を加工もできるし、キャラクターデザインなどもできる。ゲームも作れるし、世界中の人とネットでつながれる。

 

つまり、コンピューターを使うのと使わないのでは、世界の広がりがまったく違う。無限の広がりのなかで、知的好奇心を刺激し、感性を磨いてほしい。

これはアンプラグドでは達成できません。

 

プログラミングを正しく学べば、(プログラミングはコンピューターの可能性を広げているツールなので)分かりやすく、世界の広がりを感じられます。

ただ、別にプログラミングじゃなくてもいい。例えば動画編集のアプリだったり、作曲、編曲のツールだったり。3Dプリンターで遊ぶとかでもいい。

 

一方で、プログラミング学習で、子ども用の教材などで簡単にしすぎて可能性を狭め、「プログラミングってこんなものか」と、子どもが可能性を小さく感じて興味を失うことは避けないとダメ。プログラミング学習がまったくの逆効果になってしまう。

 

 

・プログラミング的思考を身につけること

・テクノロジーの無限の可能性を感じ、感性を磨くこと

 

この2つともが大事であり、かつこの2つは、相互依存せず独立している。

これを意識せず、なんとなく合わせて考えて、どっちつかずになって、両方共に効果が出ない(ときには悪影響を与える)、そんなことにならないようにしていくことが大切だと思います。

プログラミング学習は、うまくやれば、この2つともにとって、とてもいい教材の1つであることは確かです。

 

、、、ただ、もう1ついうと、これらの前に、ソフトスキル(非認知能力)もさらに大事だったりします。

諦めずに最後までやりぬける、失敗を恐れず行動できる、自発的に行動する、自己肯定感がある、などなど。

学習にショートカットはない

科学的センスは答えを知るときではなく、問いかけ、探求し、そして調査するときに身に付くものだと言うことです。

— パパート&フランツ, 1987  「作ることで学ぶ」 P38

小学生のキッズたちとプログラミング教室「ArSchool」をやって、5ヶ月程度。いろいろ学ばせてもらっています。

その中で痛感したのは、「学習にショートカットはない」ということ。また、答えを教えられても伸びず、「自身の体験を通じて」こそ成長するということ。

 

突然子どもたちができるようになることはあります。でもそれはショートカットしたのではなくて、日々連続的にじわじわ成長している中で、たまたまアウトプットが非連続的になっただけ。

急成長を求めて答えを教えても、それは遠回り。答えを与えられるのではなく、自ら考える体験、他者の体験や知識を咀嚼し自身のものとするプロセス、教材と戯れるプロセス、それらを通してでないと身に付かない、成長しない。

 

答えを教えることは、子どもを成長させることではない。(場面によっては、答えを教えることで、子どもの理解を助け成長を促すこともあります)

子どもなりに教材などと向き合い、戯れること、その時間を取ることが大事。

 

逆に、結果に一喜一憂することなく、各自のペースで、それぞれが必要としていることに取り組めば、絶対に伸びます。アウトプットはすぐに出ないかも知れないけど、確実に伸びています。子どもの成長は、本当にすごいです。

 

 

 思えば、社会人やインターンでも、優秀なエンジニア、スキルがぐんと伸びる人は、例えばプログラミングの本やWEBのカリキュラムのお題を与えて勉強するにしても、

・書いてあることをそのとおりにやって、すごく順調に、「できました!」となる人

・書いてあることをやりつつ、知的好奇心に任せ、「この場合はどうなるんだろ?」とチャレンジする人(だいたいそういう人は、「すいません、、動かなくなりました」って聞いてくるけど)

だと、後者の方がむちゃくちゃ伸びてますね。教材の正解をトレースするのではなく、プログラミングと戯れ、それを自己の体験として再構築できる人。