プログラミング教育に何を求めるか?

首藤 一幸

首藤一幸:
"プログラミング教育「必修化」の期待と課題",
WEBRONZA, 朝日新聞社, 2017年 5月 8日

「プログラミング言語の文法は教えません。自分で学んでください。」 大学に入学したばかりの私達に向けて、 プログラミング演習の担当教員はそう言いました。 25年前のことです。 では大学はその講義を通して何を教えてくれたのかというと、 コンピュータ科学の基礎でした。

プログラミング教育ブーム

プログラミング教育が大はやりです。 幼稚園生から高校生までを対象とするITものづくり教室 LITALICOワンダーには、 5教室で1,500人もの生徒が通っているそうです。 子供達が取り組むロボット制御やアプリ開発のためには、 もちろん、プログラミングが必要です。

世界のリーダー、バラク・オバマ、スティーブ・ジョブズ、マーク・ザッカーバーグら も、若者に対して、作る側にまわること、 そのためにコンピュータ科学やプログラミングを学ぶことを勧めています。 もっとも、彼らは事業家や政治家なので、 自分達の事業領域や地域を産業的、経済的に強くしたいがための 我田引水でもあるのでしょう。 とはいえ、現在、コンピュータ科学やプログラミングが 何かを作って世に問う際の中心的な素養の1つである ということは疑いありません。

小学校での必修化

2020年には、多くの子供が小学校でプログラミングをしているかもしれません。 政府・首相官邸は2016年6月、日本再興戦略2016の中で、 2020年度からの小学校でのプログラミング教育必修化をうたいました。 文部科学省は、プログラミング教育についての有識者会議を開催し、 2017年2月には小学校の学習指導要領案にプログラミングを盛り込みました。

皆さん「プログラミング教育」と聞くと、 え?プログラムを書くスキルを子供に仕込むの?と反射的に誤解して、 将来役立ちそうでいいね!と喜んだり、 人によっては逆に、手先のスキルを仕込むようなことはしてくれるな!と 心配するのではないでしょうか。 この点は心配ありません。 文部科学省もスキルを仕込むつもりはありません。 学習指導要領案には、 各教科の中で 「プログラミングを体験しながら … な論理的思考能力を身に付ける」 とあります。

先立つ有識者会議は 「プログラミング教育とは … 『プログラミング的思考』などを育むこと」 とまとめていました。 この『プログラミング的思考』は、 『Computational Thinking』 (原文:"Computational Thinking," Communications of the ACM, Vol.49, No.3, pp.33-35, 2006年3月、 和訳:"計算論的思考," 情報処理, Vol.56, No.6, 2015年6月) と言い換えてよいように見えます。 新しい言葉を発明した方が都合がよかったのでしょう。

プログラミングは最適な教育手段か?

プログラミング教育の小学校での必修化には批判もあります。 教育は誰にとっても身近なテーマなので、誰しも一家言持っています。 例えば… 目標とする論理的・創造的な思考力を育むために プログラミングは最適な手段なのか? 他教科の授業時間を減らすに値するほどなのか? この点、有識者会議の議論取りまとめや、また、特に学習指導要領案は、 かなり無難な着地点を見出しています。 つまり、プログラミングを中心とする教科を設けるのではなく、 既存の教科にプログラミングを織り交ぜるのです。 例えば、学習指導要領案の記述は、 総合的な学習の時間なり算数なり既存の各教科の中で 「プログラミングを体験」 する、となっています。 どの教科で実施するかまでは定めていませんが、 第1章 総則にて「プログラミングを体験」することを「計画的に実施すること」と 述べているので、確かに必修なのでしょう。

経済成長を狙った人材政策

しかし一方、ここまで薄めてしまって 『Computational Thinking』もとい『プログラミング的思考』が 身に付くのか?という逆方向の批判もできるでしょう。 中学校、高等学校ではより進んだ教育がなされてしかるべきですし、 この点で差別化したい小学校は、 より高度または専門的な教育にトライするのでしょう。 学習指導要領は、良きにつけ悪しきにつけ、 公立学校に対する規制としての働きもあります。 趣旨の逸脱や児童の負担過重を避けよ、とあるので、 書かれていないことの指導には慎重にならざるを得ません。 推進派にしてみれば、必修化によってようやく最低限の可能性が拓かれる、 といったところでしょうか。

内容の良し悪しは置いておくとして、 着地点を見つけて必修化を盛り込んだ文部科学省の方々の苦労が偲ばれます。 そもそも、プログラミング教育必修化は経済政策としてうたわれたものです。 日本再興戦略2016の中で 「経済成長を切り拓く人材の育成・確保」のための施策として位置付けられています。 文部科学省はそれを執行しようとしているだけとも見ることができます。

何のためのプログラミング教育か?

さて、しかし問いは未解決です。 プログラミング教育は、子供が善く生きることに資するのでしょうか? 他のことに割ける時間を減らすに値するほどでしょうか? 論理的な思考力を育むかというと、 他の方法より良いかどうかは研究を待たねばなりませんし、 他の教科を押しのけるためにはかなり強固な証拠が要ります。 創造的な思考力を育むかというと、 プログラミングが可能にするものづくりの幅は他の手段より ずいぶん広いように感じられるので、悪くないように思います (コンピュータ科学者の我田引水でしょうか)。

こういう論があります。 「今日、世の中はコンピュータに支配されている。 誰しもその原理や性質を知らないというわけにはいかないだろう。」 これは、4歳でも表現の道具として使える ビジュアルプログラミング言語Viscuit(ビスケット)を発明した 原田康徳さんの言葉です。 実際、電気、ガス、水道、交通、金融、… などなど、我々の生活を支えるほとんどすべてのシステムは コンピュータによって制御されているわけです。 ここまで来ると、思考力うんぬんよりは説得力があるのではないでしょうか。 もっとも、我々は経済システムに支配されているのだから 誰しも資本主義を知らないというわけにはいかないだろう、等々、 類似の論は立つのですが。

私のような大人はこうして理屈に悩む(楽しむ)のですが、 若人は(人によっては)ストレートです。 寺本大輝さんがプログラミングで攻略するゲーム HackforPlay(ハックフォープレイ)を発明したのは、 ただただ、プログラミングの楽しさを伝えたい!という思いからでした。 HackforPlayを通じて、プログラムをいじる・作る喜びに目覚めて、 そして自分を発見する子供が現れています。

このように、ひと口にプログラミング教育と言っても、その狙いは様々です。 職業訓練的なスキル教育も、子供向けには慎重論が強いものの、 もちろん大人向けには必要でしょう。 コンピュータ科学を専攻する学生向けの教育は当然必要ですし、 より広く、全学生に対して、 コンピュータを使いこなすためのリテラシ教育を行っている大学は多いです。 東京工業大学では、もう少し対象は広く内容は深く、 全1年生を対象としたコンピュータ科学の講義があります。 さて、あなたは、 御自身やあなたの子供が受けるプログラミング教育に何を望むでしょうか。


首藤一幸(しゅどう・かずゆき) コンピュータ科学者、東京工業大学准教授

1973年神奈川県生まれ。2001年早稲田大学博士後期課程修了。博士(情報科学)。早稲田大学助手、産業技術総合研究所研究員、ウタゴエ(株)取締役最高技術責任者を経て、2008年12月より現職。つまり、私大、国の研究所、スタートアップを経て、国立大学。IPA未踏人材発掘・育成事業プロジェクトマネージャを兼任。 魔法のようなソフトウェア、分散システムが好き。