ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

プログラミングのできない学者や有識者がプログラミング教育をねじ曲げる – プログラミングの「プ」の字もなかった教科「情報」迷走の轍をふまないために – プログラミング教育の体系化が緊急課題

leave a comment »

念のため、本文はあくまでも現場の一教員による私見であることを断っておく。

2003年から教科「情報」が高等学校ではじまったとき「教科『情報』はコンピュータを教える教科ではない」と声高に叫ばれ、そこで台頭してきたのは「なになに情報教育学会」といった新興のステークホルダーである。それは、長年日本のコンピュータ教育をけん引してきた情報処理学会とは異にした流れの、教育学や認知科学分野の学者や有識者によるものだった。当時の雰囲気は「情報処理は情報教育学の単なる一分野にすぎない」といった論調が主流であった。おそらくボタンの掛け違いはここに始まった。このために情報教育はコンピュータやインターネットを正面からとりあげず、普遍的なメディア論やプレゼンテーションやディベート、調べ学習、問題解決学習、共同学習、さらには道徳のような「情報モラル」に偏り、プログラミングの「プ」の字もなく始まった。

2003年にはじまり15年間の迷走を続けた教科「情報」は、ようやく小学校のプログラミング教育をきっかけに本来の目標に立ち戻ろうとしている。だが問題は、教科「情報」がはじまったときと似た現象、つまりプログラミングのできない学者や有識者がプログラミング教育のステークホルダーに居座り続けようとしていることだ。そのため、たとえば文部科学省の調査研究協力者会議「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」では2016年6月16日に出した「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」にわざわざ「コーディング(プログラミング言語を用いた記述方法)を覚えることがプログラミング教育の目的であるとの誤解が広がりつつあるのではないかとの指摘もある」「時代を超えて普遍的に求められる力としての『プログラミング的思考』などを育むことであり、コーディングを覚えることが目的ではない。」などと書かれている。

めまいがするほどだ。コーディングを覚えずに時代を超えて普遍的に求められる「プログラミング的思考」など身につくなどと本気で思っているのだろうか。

この現状は、おそらく、いわば「外国に行ったことのない学者や有識者が国際理解教育を作ろうとしている」くらいの状況である。

その一方で、主として小学校の現場では、先駆的な教員によって自主的にプログラミング教育の実践が始まっている。子どもたちに扱いやすい教材、わかりやすいカリキュラム、実習をしやすい環境構築を模索している。インターネットを通じた実践交流も活発に行われている。もはや緊急の課題は、初等中等教育を通じたプログラミング教育の体系化である。「プログラミング教育はプログラミングを教えるものではない」などと禅問答をしている場合ではないのだ。

小学校では流れ図に示される構造化、つまり順次構造、反復構造、条件分岐でいいとして、コーディング不要のブロック型プログラミングでいいだろう。簡単なマイコンボードを使った計測や制御も取り入れるべきだ。ではその次はどうか。中学校では何をするのか、高等学校では何をするのか。

まず何よりもオブジェクト指向を取り上げるべきだ。オブジェクト指向がわからなければ現代プログラミングを理解したことにならない。かく言う私もオブジェクト指向を理解するには時間がかかった。「オブ脳」という言葉があるように、オブジェクト指向は言葉で説明されて理解できるものではなく、例えれば自転車に乗れるようになるようなものだ。子どもが自転車に乗れるようになる瞬間、それは突然やってくる。なんどもなんども失敗を繰り返し、ほんの数センチでさえ動いて倒れる様子を見ていると、はたして本当に乗れる日が来るのだろうかと心配になるが、乗れるようになるのは突然である。そして一度乗れるようになれば、あたりまえのようにすいすいとこげるようになる。

オブジェクト指向を理解するにはオブジェクト指向プログラミングをしなければならない。自分でコードを書き、動かしてはじめてオブジェクト指向は理解できる。「オブジェクト指向はカプセル化、継承、ポリモーフィズム」と暗記するだけでは何の意味もない。なぜプログラミングはオブジェクト指向になったのか、オブジェクト指向の何がいいのか、どこでどうオブジェクト指向を利用すればいいのか、を理解しなければ意味がない。それには言語として C# (C Sharp) がいいと断言できる。かつて BASIC が初心者にとって学びやすい言語であったのと同じくらい C# はオブジェクト指向を学ぶ初心者にとって学びやすい。言語仕様が正確であり、JIS や ISO にも規定されている。ポインタやガーベージコレクションを意識する必要もない。書法は簡潔で美しい。Visual Studio という優れた開発環境もある。

すぐれた自転車教室にはノウハウがあり、一日やれば必ず乗れるようになるプログラムがある。それと同じように、オブジェクト指向も優れたカリキュラムがあれば誰でも理解できるようになる。中学校段階では必ず理解できる。オブジェクト指向とともに理解しなければならないことは、イベントドリブンである。サーバーサイドプログラミングも中学校では身につけさせたい。Webサービスのインタフェースなどは中学生段階でも理解できるだろう。

コンピュータの抽象化、クラウドコンピューティングは高等学校の内容になるだろう。機械学習や AI、データ処理を通じてイベントドリブンからデータドリブンのプログラミングを学ぶ必要がある。マイコンボードをネットワークにつなぎセンサのデータを集めるIoTからデータベースを学ぶ必要もあるだろう。近い将来クラウドコンピューティングは革命的に転換しそうなので、関数型プログラミングやサーバーレスといった技術がテーマになるだろう。

数年後には小学校でプログラミングの基礎を身につけた子どもたちが中学校へ、そして高等学校へ進学してくる。必要なことはプログラミングのできる学者や有識者が情報教育をけん引し、プログラミング教育を体系化することだ。現場の教員も口を開けて待つのではなく、自己研鑽と教材研究にいますぐ取り組むべきである。

2018年1月12日

松本 吉生(まつもとよしお)
Microsoft MVP Data Platform

1961年京都に生まれ、神戸で幼少期を過ごす。大学で応用化学を学んだのち、理科教諭として高等学校に勤務する。教育の情報化が進む中で校内ネットワークの構築運用に従事し、兵庫県立明石高等学校で文部科学省の「光ファイバー網による学校ネットワーク活用方法研究開発事業」に携わる。兵庫県立西宮香風高等学校では多部整単位制の複雑な教育システムを管理する学籍管理データベースシステムをSQL ServerとInfoPath、AccessなどのOfficeソフトウエアによるOBA開発で構築・運用する。現在は兵庫県立神戸工業高等学校でC#プログラミング、IoTなどのコンピュータ教育を行う。2004年からマイクロソフトMVP(Microsoft Most Valuable Professional)を受賞し、現在14回目の連続受賞。2016年にマイクロソフト認定教育者(Microsoft Innovative Educator Experts : MIEE)を受賞し、現在3回目の連続受賞。

広告
Report this ad
Report this ad

コメントを残す

%d人のブロガーが「いいね」をつけました。
:)