探究型プログラミング学習(探プロ)

プログラミングの考え方を学んで、未来を創る力を手に入れる

プログラミングの考え方を学んで未来を創る力を手に入れる

おみくじアプリでも創造的思考は養えるだろうか?

2020年に小学校でもプログラミングが必修化される、というニュースは教育業界だけでなく、一般家庭にも少しずつ浸透しているようです。

 

先日、電車に乗っていたら栄光ゼミナールのこんな広告が目に留まりました。

http://www.eikoh-seminar.com/poster/images/ad_201609.gif

 

プって何だろう?

と思ったらプログラミングだったのですね。

 

プログラミングが一体何で、子どもたちにとってどんな役に立つのかは今ひとつ分からないけれど、次世代の教育として必要だと言われていることは知っている

という保護者が増えているのではないでしょうか。

 

小学校でのプログラミング教育が、具体的にどういった形で行われるのかはこれから検討されるようなのですが、それを解説するときによく使われるのが、文科省が2016年6月に発表した有識者会議での議論のまとめです。

小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ):文部科学省

 

子どもたちが身に付けるべきなのはプログラミングスキルではなくプログラミング的思考である、といったメッセージを中心に、私自身は概ね、方向性に賛成です。

ただひとつ、とても疑問に感じている箇所がここです。

子供たちが、情報技術を効果的に活用しながら、論理的・創造的に思考し課題を発見・解決していくためには、コンピュータの働きを理解しながら、それが自らの問題解決にどのように活用できるかをイメージし、意図する処理がどのようにすればコンピュータに伝えられるか、さらに、コンピュータを介してどのように現実世界に働きかけることができるのかを考えることが重要になる。 

 

創造的思考の定義はこちらでご確認ください。

 

何れも問題解決に繋がる思考ですが、両者の思考アプローチは全く違うと私は捉えています。

すごく大雑把な分類をすると、論理的思考は収束のための思考であり、創造的思考は発散のための思考でしょうか。

 

プログラミングとは、「命令」の集まりであるプログラムをコンピュータが実行できるようにすることであり、正確さと効率の良さが求められます。

自分自身の経験を鑑みると、こうしたプログラミングの経験を繰り返すことで論理的思考力が鍛えられることは間違いないといえます。

一方で、本当に創造的思考力にも影響があるのか?という点で疑問があります。

 

もしかすると、試行錯誤型の学習アプローチが、創造的思考に繋がると期待されているのかもしれません。

プログラミングの中で試行錯誤することは確かによくあります。

しかし、プログラミング言語を使った学習の場合、それは意図した動きにならないプログラムを直す(デバッグする)という意味で使われることがほとんどです。

ここで必要なのは論理的思考であって、創造的思考ではありません。

 

プログラミング学習の過程で、問題を多面的に捉えたり、あらゆる視点から解決策を考えることを期待しているのだとしたら、単にプログラミング言語を習うだけでは足りないのではないでしょうか。

 

創造的思考力を鍛える学習は、意図的に用意する必要があると私は考えています。

そこで探プロでは、学習フレームワークの最初のステップとして「モデリング」を位置づけました。

http://tanpro-lab.jp/img/concept2.png

 

f:id:dig_learning:20160913155927j:plain

最近増えてきた子ども向けのプログラミング教室では、Scratchのようなプログラミング言語を扱うことが多いようです。

子どもたちはScratchを使ってアプリケーションやゲームなどを作るのですが、作ろうとする対象(テーマ)をどう捉えるか?

というところが、創造的思考の観点では最も重要なところになります。

 

例えば、先生から与えられたお題が「おみくじアプリ」だったとして、おみくじの仕組みを考えて(アルゴリズム化)それを実現するプログラムを書く(コーディング)という学習をするのであれば、この中で創造的思考を養う場面は少なそうです。

 

おみくじがテーマでは創造性を期待できないのでしょうか?

探プロでは社会性のあるテーマを選びますし、学習プログラムとして扱うにはいくつか条件があるので、通常は「おみくじ」がテーマになることはありません。

 

ですが、せっかくなのでちょっと考えてみます。

 

「おみくじ」の本質は何でしょうか?

 おみくじの基本知識はこちら (Wikipedia)。

 

おみくじの引き方や、そこに書かれている内容は多様ですが、大まかにいえば、「おみくじ」とは

"私の未来を神様の気ままに決めてもらう"

というコンセプトを具現化したものではないか

と考えてみます。

 

自分で決められない(決めたくない)未来を、おみくじアプリを使ってランダムに決めることができれば、ちょっとは気が楽(?)になるでしょうか。

 

ではここでちょっと発想を変えて、未来ではなく過去を決めるおみくじ、というコンセプトを考えてみます。

 

過去はもう変わらないけれど、その過去をどう捉えるかは自分次第ですよね。

宝くじに大当たりした昨日は、大吉かもしれないし、不運を呼ぶ凶かもしれない。

それを占うおみくじがあったら、同じ現象でも違った見方ができて面白いかもしれません。

最悪の昨日も大吉が出れば良い気分になったり。

 

おみくじアプリを実現する際のアルゴリズムや、実現方法は、多少の差はあってもたいした違いはないので、誰が作っても、だいたい同じようなものができるはずです。

(教える側としては、その方が都合が良い、という事情もあるはず)

 

プログラミングに創造性を加えるには、プログラミング言語を操るだけでは足りなさそうですね。

 

学校のような教育現場ではこの難題にどう応えていくのか?

大変興味深い観点です。

@tanpro-lab