Posted at

子供たちへのプログラミング教育のこと

More than 1 year has passed since last update.


義務教育でのプログラミング教育

2020年までに義務教育でプログラミング教育をするんですって?

本当?いや、本当じゃないかも。2020年じゃなかったかも。義務教育じゃなかったかも。

ちなみに、高校だと情報の教科が既にある。最初は数学IIの最後のほうだったけれど、今は独立した教科になっているんだっけ?違うんだっけ?

ほら、この適当な情報源から話を始めるあたりがポエムのポエムたるゆえんだ。

とにかく、街を見て驚くのが、学習塾やパソコン教室が、こぞって「小学生向けプログラミング教室」を始めていることだ。これには本当に驚く。どこにそんな教室を運営できる講師が眠っていたのかということにも驚く。

主観を言わせてもらえれば、すでに焼畑が始まっている気がしてならない。

だって、老人向けスマホ教室とかやっていたところが、いきなりプログラミング教室とか言ってるんだぜ?無理だろ?


初等教育過程でのプログラミング教育

初等数学と言った場合高校までの数学を指すわけだが、ここでの初等教育は小学校とする。

多分文部科学省的な初等教育の定義はあると思うけれど、調べていない。

小学生向けに何をするの?というのが一番興味あるところだが、基本はScratchでビジュアルなプログラミングをしたり、ロボットのプログラミング(これはArduinoのスケッチか?)をしたりという内容のようだ。

正直、Scratchに救われている部分が大きいように思う。

教育用と称した謎なビジュアルなプログラミング環境は色々あるが、まあScratchなら、そんな間違いをすることもむしろ難しいだろう、という気がしている。

気がしているだけで、世の中にはExcelを方眼紙として使うという予想外な人種もいるので、何が起こるのかは分からない。

またロボットのプログラミングについてなのだが、個人的にはクロスコンパイル的な環境、というか、ホストとターゲットが分離している環境って、入門者向けとしてどうなのだろうと思っている。

多分これが受け入れられているのは、高専や高校あたりでArduinoどっぷりの人が違和感を持たないからなのかなという推測もしているが、根拠はない。

Arduinoなら、そんなに違和感ないのかね。

ならいいんだけど。

でも、柔王丸がArduinoで動いているとは思えないんだけれど。


学校で教えるべきなのかどうか

日本の初等教育は、型は教えるが理論は教えない。

たとえば、算数で掛け算の順番があっていないとまるにならない問題が定期的に話題になるが、まさにそれである。

これは、数学とは別に数学教育学という学問があるらしく、そいつらが諸悪の根源らしい。

型を学ぶのが大事なシーンというのは確かにあって、それは学問でも芸術でも同じだけれど、日本人は(日本人だけなのかは分からないが)型を繰り替えして安心して、あっという間に本質を忘れる。見事なくらいに忘れる。

型が好きなのだろう。

だからおそらく間違いなく、小学校でのプログラミング教育も型のみを教えて本質を教えない。そういう意味で、ほぼ間違いなく失敗する。

同時に、そういうやりかたをしていると、「嫌いな子」を作りやすくなる。

算数嫌いな子、勉強嫌いな子、いるよね。

でも、実際そこそこ知的な社会において知的に生活するためには、仕事にも生活にも、算数・数学は必要だし、国語も必要である。そもそも勉強が必要だし、世の中にあふれる色々な情報を受け止めるための学問は必須なのである。

押し付けの教育は、必ず嫌いな子を作る。今はプログラミングは押し付けられていないので、プログラミングが嫌いな子はいない。

大学で勉強してできなくて脱落した人はいるかもしれないけれど、そういう人は違う道に進んでプログラミングのことなんか忘れている。

2020年以降は、プログラミングが嫌いな子供が出現するだろう。

どうしよう?

みーんなが、だーいすきな、ぷろぐらみんぐのことを、きらーいって言っちゃう子供が出てきちゃうんだ、ぞー。

そもそも現在プログラミングを生業にしている人の多くは、学校で教わらないプログラミングを独学で学んできたひとだ。無論、バックグラウンドとしての大学教育の有無の差は大きいが。だから、強制的なプログラミング教育(しかも日本式)が何をもたらすか、正直分からんのだな。


いまのエンジニアがなすべきこと

もしあなたが、プログラミングを楽しいものだと感じるのであれば、創造的で知的でエキサイティングな活動だと感じるのであれば、その楽しさを積極的に表明するべきだ。

子供に対して見せるべき大人の姿は、人生を楽しく満喫している姿であるべきだ。

決して、苦しいけれど頑張っている姿ではない。

頑張るのは当たり前だ。だけど、それが苦しいものであってはならない。

そんな時代は戦争が終わった時点で捨て去ったはずだ。

プログラミングを楽しんで見せること。これが今のエンジニアに求められることだと思う。


とはいえ感じる違和感

本来初等教育で教えるべきは、ロジカルな物の考え方や、アルゴリズムの組立て方、それに加えて「コンピュータを使って、何をするか」だと思う。

プログラミングは道具に過ぎない。

しかし、僕等のような特殊な人種にとっては、プログラミングは手段であると同時に目的でもある。

現在既にそうなっている気もするが、頭の良い奴が、プログラミングは道具に過ぎないという考えを持つと、次に「プログラマは道具に過ぎない」という発想に移る可能性がある。

特に、昨今の専門職に対する金銭的リスペクトの低さ、端的に言えば「お前ら、好きなことやっているんだから、金はいらないだろ?」的な発想と結びつくと、さらに残念なことになる。

初等教育でプログラミングの型だけを学んだ子供が成長した時に、全体的な底上げの結果どういう人種が増殖するのかは、注意しておかないといけないような気がしている。