過去と未来が出会う場所

「ひと」の場を構築するために

これからのプログラミング教育(3)

前回の続き。 私が、ちょっと勘違いをしていたようで。。

プログラミング教育の落とし穴 - WirelessWire News(ワイヤレスワイヤーニュース)

要するに、私が言いたいのは、 結局初めてのプログラミング経験は、ビジュアルプログラミング言語を使って概念的に学べばよいのだが、そこからどうしたら熟練のプログラマーを育てることができるのか?ということにかかっています。

おさらいがてら、まとめてみると、、

ビジュアルプログラミング言語→分かりやすい。見た目が可愛いらしい。初心者が学びやすい。

古典的言語→分かりにくい。構造上古いバージョンとの互換を考慮するため複雑怪奇になる、パッと見てわかるような仕様になっていない。

ここで、こんな考えがあります。

不便から生まれるデザイン: 工学に活かす常識を超えた発想 (DOJIN選書)

不便から生まれるデザイン: 工学に活かす常識を超えた発想 (DOJIN選書)


この本は、不便益論(あえて不便にさせることで、習熟の喜びを得られるという、逆転の発想)という考え方に基づいた事例集です。例えば、年季の入ったデザイン(長く愛される道具)が、独特の風合いをもつ一方で、コンビニエントな道具はすぐに使えなくなるだけ、というような。プログラミングにあえて適用すると、自分に最適の道具(プログラミング言語)を探し求め、長く使用することが挙げられます。

分かりやすい、ビジュアルプログラミング言語の教育は先ほどのブログに譲るとして、ここではどうすれば初心者が挫折せず複雑に見える言語を学ぶ意欲が湧くかを考えます。

こんな考え方に登場してもらいましょう。

実践 行動経済学

実践 行動経済学


この、行動経済学とはなんぞや、ということですが…

人は、今を過大評価してしまう生き物なのです。

人間は、経済的に不合理な判断を下したり、直感的に素早い思考をしたりする傾向があります。そのため、ナッジ(うまく先回りして、「人を『正しい行動』に導こう」とする試み)を有効に活用しましょう、ということが基本的な考えです。

 

そこで、分かりにくいプログラミング言語を学ぶような「ナッジ」を、修得者が考えるとすると…。つまり、C++,Javaなどのオブジェクト指向言語を修得へと向かわせるきっかけとなるもの。すなわち、メタ認知(個々人の学習の障壁を事前に察知し対処したり、学習の方略とスキルを変更したりすることで目標を達成することができるようにする教育。)の試みを考えてみます。

1.体感としてのプログラミング


知覚ー行動カップリング( 『不便から生まれるデザイン』192ページ)によるプログラミング。 ざっくり言うと、その場で作った動作のプログラムが、デバイスがちゃんと認識すれば、作った本人に即座にフィードバックされるという仕組みを作って体感してみる。 いきなりハードルが高すぎますね。(汗)

2.分かりにくいことは確実なのだから、あえて分かりにくさを出す


1つは、最初に完成品のソースを見せる。(いかに多くの手間暇がかかっているのかを知る→社会科見学(工場見学)に似ている)

まあ、教習所で見せられるリアル事故動画のようなものと思ってもらえれば(笑)


3.熟練の技を見せる


実は、数分でゲームは作れる(らしい)
当然、教える側に高い技術が必要。

4.現状維持


もうすでに、老若男女がプログラミングを修得することがステータスとなるような時代が来ています。

Fab ―パーソナルコンピュータからパーソナルファブリケーションへ (Make: Japan Books)

Fab ―パーソナルコンピュータからパーソナルファブリケーションへ (Make: Japan Books)


パーソナル・ファブリケーションの時代へ(個人がより容易に、高度な創作に取り組むことができるという発想。 もちろん、このなかにプログラミングで「もの」を動かすことも含まれる。)

とりあえず、こんな感じです。