世界各国でプログラミング教育の必修化が進んでいます。日本でも2012年度(平成24年度)から中学校で必修項目に入っています。小学生からプログラミング教育を必修とする動きもあります。
各国で始まるプログラミング教育必修化の波:日経ビジネスオンライン
はたしてプログラミングを義務教育で必修科目としてやる必要があるのでしょうか?
プログラミング必修化の理由
上の記事では、プログラミングを必修化する理由として次の理由を挙げています。
プログラムの便利さを体験する
エクセルのマクロを組めば何時間もかかっていた作業がボタン1つで終わるようになることがあります。こういったことを若いうちに体験させることに意味があるという考え方です。
しかし、こういったことは自分でプログラムを作らなくても体験できます。自分で作ったプログラムで体験することが大切だとも言えますが、そもそも自分でプログラムを作れるようになる人は、全体の数分の1しかいません。
システム開発プロジェクトの失敗をなくす
特許庁の55億円の失敗プロジェクトの例を挙げて、発注側にシステム開発の知識が足りないために起こる失敗プロジェクトが多いため、プログラミングを自らの経験として知っておくという考え方です。
失敗プロジェクトの原因は様々です。プログラミングの経験ぐらいでは、大規模なシステム開発を知っているとは言えません。それどころか、素人の生半可な知識が大規模プロジェクト推進を阻害することもあります。
これは、交通事故をなくすために、自動車の部品を加工する技術を学ぼうとするようなものです。構成要素の一部を学んだだけでは、全体を理解することはできません。
システム開発プロジェクトを成功させるために、発注側のプログラミング知識は不要です。それ以外に知らなければならないことは山ほどあります。
プログラミングを義務教育で必修とすべきでない理由
私は、プログラミングは、プログラミングが好きな人やプログラミングの専門家だけが学べば良いと考えます。以下のその理由を述べます。
なお、ここでいうプログラミングは、あるプログラム言語を使ってコードを記述することをいいます。
大量の落ちこぼれを作る
プログラム言語でコードを記述して、まともに動くプログラムを作れるようになる人は、全体の数分の1しかいないと思います。
プログラミングは、抽象的な記号で手続きを記述する作業です。抽象的な思考は、得意な人とそうでない人の差が大きく、できる人はそれほど多くありません。
技術の変化が速い
義務教育でプログラム言語を学んだとしても、大人になった時に一般的に使われているかどうかわかりません。
また、プログラム言語は非常に多くの種類があり、プログラミングを必要とする仕事についたとしても、義務教育で学んだプログラム言語を使うかどうかもわかりません。
技術の進歩と変化が非常に速いため、義務教育で学んだものが、その後何の役にも立たないものになる可能性があります。
義務教育で学ぶべきもの
それでは、義務教育ではどのようなことを学べばよいでしょうか?
ITリテラシー
IT機器を使う上での基本的な注意点を学ぶ必要があります。子供がLINEを使うようになっていますから、セキュリティやいじめの防止などを教えなければなりません。
私が子供の時は、マッチや彫刻刀の使い方を学校で習いました。同様に、今はIT機器やソフトウェアの安全な使い方を教える必要があります。
ITの原理
コンピュータの原理や動く仕組み、基本的なアルゴリズムなどのコンピュータサイエンスの基礎は教えてもいいと思います。
最後に
プログラミングが好きで得意な子供が、プログラミングを学ぶことを否定するつもりはありません。むしろ、数学と同じで、若い時ほど高い能力を発揮する分野です。プログラミングが得意な子供を見つけて、早期教育をする仕組み作りが必要です。
IT分野での人手不足は、待遇の改善で解決するもので、義務教育でプログラミングを必修としても増えるものではありません。
IT業界の問題点は、別の記事に書いていますので、よろしければそちらをご覧ください。