Tuesday, 22 May 2012

らくだのコブ二つ

http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

プログラミングができる人とできない人がいるって話。経験的には、その通りで、どうしてもプログラミングがわからない人ってのはいる。でも、もちろん僕から見ると単に不可解なだけで、謎なのだが…

でも、コブが二つあるのは、それが自然な能力差ではなく、なんらかの外的要因があるということだと思う。

昔、人にプログラミングを教えた時に「まず、日本語で、どうすれば良いかを考える」と言ったらしい(覚えてない :-p) のだけど、実はそこで、

* 日本語で、どういう手順で何をしたいのかを説明できない

人が既にいるらしい。それも、経験的にそんな感じ。そういう人達が、料理とか仕事とか日常生活とかどうやっているのかは考えたくない。

僕の主張は、

* プログラミングは、誰にでも理解できる

というものだけど、それには「プログラミングを教える以外の何か」が影響している気がする。

うちの学科では、1年次の後半(あるいは2年次の実験)で、アセンブラを習うのだけど、そこで「Cの前にアセンブラを知っていればよかった」と思う学生が多い。それは、その通りだと思う。アセンブラの方が覚えることは少ないし、アドレスの概念が直接的。そして、

* 操作的意味論が明快

だから。ここが肝か? プログラミング言語は、字面が問題なのではなくて、字面の裏にある値が問題になる。その字面から見えないものを操作するのがプログラミングなのだが、それができない人がいるということかな。

Excel / スプレッドシートは、いつも値が見えている。だから安心。隠しセルを使うとできることは広がるが、抵抗がある人がいるらしい。

それは、人の心とか、物の影にあるものを認識できない自閉症や学習障害に近いものな気もするが、それだったら、二つのコブにはならない気がする。

教え方を工夫すれば何とかなるというのと違う気もするが、それは、僕の主張とは相容れないんだよな。教える時期の問題かなぁ。

No comments: