バナナでも釘は打てる

柔らかく美味しいバナナでも、ちょっとした工夫で釘は打てます

読了 - プログラミング教育はいらない

「挑発的なタイトルは好きだ。」とは本書の「はじめに」の一番最初の文章である。

まんまと引っかかったと言えるが、別にそれだけでもない。

長年、IT技術者の典型ともいえるシステムエンジニアとして働いているが、社会人未満の子供たちにプログラミングを教える必要があると思ったことはない。

確かにスマホのようなITデバイスが子供の持ち物としても当たり前になってきている上に、AIの本格的な普及が始まれば、ITとの接し方を早めに学んだ方がいいのだろうとは思う。

それでもプログラミングをみんなが学ぶべきだとは思えない。

本書曰く

「プログラミング教育」が「コーディングの技術を教える」のであればいらない、「プログラミング的思考を育む」のであれば推進すべき、が本書の主張である。 本書はIT企業が求める能力が上流工程に偏重しているという。

「上流工程」とはIT業界ではよく使われる表現であるが、大雑把にいえば、情報システムの開発を川の流れに例え、何をシステム化するか、どのようなシステムとするかといった企画に近い工程を上流工程と呼び、実際に利用するソフトウェアを作って利用できる状態にする工程を下流工程と呼んでいるものである。

確かに何をシステム化し、どんなシステムにするのかという企画がダメなら下流工程でどんなに頑張っても価値あるシステムにはならない。このため上流工程をこなす能力が必要とされるのは事実である。

だから上流工程に必要な能力を育むプログラミング的思考の教育は推進すべきだという。

改めて文科省のサイトでプログラミング教育について何を言ってるのかと「教育の情報化の推進」を読んでみたがちょっとわかりにくい。

ベネッセのサイトにある説明の方がわかり易いので概略はそちらをどうぞ。 図で解説「プログラミング的思考」とは | ベネッセのプログラミング教育情報

本書に戻る。

本書は上流工程に必要な能力を、論理的思考能力、問題解決能力、プロジェクトマネジメント能力、コミュニケーション能力であるとし、プログラミングはこれらの能力を育むチュートリアルになるとしている。

小学生に対するプログラミング教育の実証実験の結果でも、論理的思考能力の向上に効果があったらしい。

ただ、効果を上げるには児童数人に対して講師1人が必要であるため、致命的な課題が教員不足だそうだ。

そうなると、プログラミング教育で実効をあげるのは難しいのだろうし、教育現場の疲弊と中途半端なプログラミング知識を持つ子供を増やすだけのような気がしてならない。

そもそもプログラミング教育である必要はあるのか?

もう一度、文科省のサイトに戻り「プログラミング教育」が必要と考えた背景を探してみる。

それで分かったのは、本書の切り口のようにIT技術者不足が発端ではなく、「情報活用能力」、つまり情報や情報手段を主体的に選択、活用するための能力を向上させることとICTに慣れる必要があるという認識からプログラミング的思考を育成しよう、という話だった。

やっぱりプログラミング教育でなくてもいいんじゃないか。

論理的思考と問題解決能力、いずれもプログラミングが絡む必要は無い。プロジェクトマネジメントもそうだし、コミュニケーションなんて対人の方がずっと学べる。(著者はコンピュータとの対話がコミュニケーション能力向上に良いというが、これには強い違和感がある。)

情報化社会と言われる昨今であるから、コンピュータにアレルギーを持たないように育成することには賛成するが、趣旨からすれば「プログラミング」である必要性は感じられない。

むしろ、教えるなら「モデリング

学校で基礎だけでも学べたら良いと思えるのはモデリングだ。

対象を要素に分解して、要素間の静的、動的な関連を整理する。モデリングは論理的でなければいけないし、問題解決には必須でもある。

現代の子供たちは失敗したがらず、先生が正解を示すのを待っているという実情があるようだけど、モデリングは問題の捉え方が一つではないという大事なことも教えられる。

教える先生は大変だとは思うが、これまでプログラミングなど無縁だった人がプログラミングを題材に教育するよりはモデリングの方がとっつき易いのではないかと思う。

蛇足気味ではあるが、プログラミング教育ならコンピュータが無いと話にならないが、モデリングなら紙とペンがあればできる。

こんなこと書いてたら絶対にモデリングの方がいい気がしてきた。

是非、モデリング教育に取り組んでほしいなあ。