プログラミング教育と、プログラミングのセンスについて思うこと

さて、来年度(2020年度)から小学校でプログラミング教育が始まるわけだけど、経験者の方はよくおわかりのように、プログラミング学習というのは、素養がある人とそうでない人では数倍とか下手するともっと差が出るものだ。残念ながら僕は明らかに後者だったから余計わかる。大学でちょっと教わった時は、もうif文でわかんなくなった(今考えると信じがたいが)。


開発会社に入社後のJava研修でも、for文が入れ子になると、もうお手上げ。ちなみにループのカウントは指を折って数えてた。オブジェクト指向っていうのも、僕の思考システムとは相容れず、業を煮やした指導担当の先輩は、1クラスのメインループの中に全部の処理を書かせた(笑)


何が言いたいかというと、プログラミング教育が始まれば、クラスの中は必ずできる子とできない子に二分される。既存教科でも同じだけど、できない子はたぶんプログラミングが嫌いになる。つまりプログラミング教育は、プログラミングができる子と同時に、大量のプログラミング嫌いを生み出すということ。


これまでプログラミングってのは、基本的には興味ある人が勉強してたはずで「プログラミング嫌い」って人は、転職で挑戦してみたけどやっぱり向いてなかった人とかで、そんなに顕在化してなかった。しかしこれからは違う。かなりのボリュームとして「嫌い・苦手」っていう層が顕在化する。これはある種の不幸だろう。


ところで、このようなツイートを目にした。


エンジニアにセンスは存在するのか、という問い。僕は存在すると思う。しかしその「センス」を何と言えば良いのか、僕はずっと悩んでいる。この福井さんがおっしゃっている「論理的思考力」にしても、僕は哲学だとか好きだったし、文章の論理構造を掴むのは自信あったからいけるのでは? と思ってプログラミング始めたんだけど、あまりうまくいかなかった。


その哲学にしても、ラッセルの入門書を読んだときに、集合論なんかが出てきたとき、僕は何回読み直しても、紙に書き出してもわからなくて「俺アタマ悪…」ってショックを受けた。これは哲学っていうか論理学の部分だ。だからやっぱり僕は「論理的思考力」、弱いのかも。


しかしである、じゃあ僕が少しは得意な「文章の論理構造の把握」の際に使っている能力はなんなのか。これだって例えば、接続詞の順接・逆説・並列とかを把握しているわけで、それって「論理」に他ならないはず。


就活のときにやらされるSPIってのには、言語と非言語ってのがある。もちろん僕は非言語ボロボロ。言語は時間はかかるけどまあわかる。だけどどっちも論理の問題のはず。「論理的思考」も、言語と非言語領域では使う脳の部分が違うのだろうか。


思うところある方いらっしゃれば、コメントおねがいいたします。