プログラミングについて
初等中等情報教育におけるプログラミングの扱いが悲惨な状態にあることは、多くの研究者には知られている。だが、実際の学校の先生方はどのように思っているのだろうか?もし、プログラミングを教えなさいということになれば、改めてそれを学ばなければならなくなるので、面倒だと思うに違いない。
もし、高等学校でプログラミングを教えてくださいということになったとき、いったいどんな言語を用いればいいだろうか?マイクロソフトしか使ったことない人は、VBを本格的に学ぼうということになるのだろうか。あるいはエクセルのVBマクロを学ぼうという話になるかもしれない。
昔からプログラミングの入門として常識的だったBASIC言語であるが、いまは処理系を入手することが簡単ではないといわれているし、仮に入手できたとしても、プロテクトモードで動作しているPCの一つのメモリ環境の中でのインタープリタでしかないから、いわば「まねごと」のような環境でプログラムを作らざるを得ないということになる。それでも、やらないよりはずっとましかもしれない。
さて、いったい何のために高校でプログラミングを学ぶのかということを考え直してみると、その理由の一つに「アルゴリズムを理解するため」というのがあることがわかる。もちろん、アルゴリズムを学ぶことは非常に重要である。しかし、プログラミングの例に限らず、しばしば多くの教育者が誤った道をたどる。それは「Aを学ばせたいときはAを教えればいい」というものである。教育はそんなに簡単なものではない。学んでほしいことをそのまま教えることよりも、学んで欲しいことの準備を教えてモチベーションを高めることの方が近道だと思う。アルゴリズムを教えるとアルゴリズムが身に付くというものではない。
話を元に戻そう。
アルゴリズムを学ぶために最適な言語って何だろうか。PrologとかLispも魅力的ではあるが、一方で、BASICのような安直系言語も捨てがたい。僕はBASICで数千行のプログラムを自力で書いた。それは、N88BASICで動く通信ソフトである。通信ソフトを買うお金がなかったので、自分で作った。そのときに、変数管理、変数スコープ、簡単なスタックを配列で実現する、漢字コード変換、ハードウェアbusy時の対応、ファイル保存IO、モデムとのハンドシェークプロトコル、エスケープシーケンスなどいろいろなことを独学した。(当時、僕は数学科の1年生でした。)でも、いまは JavaScript が初心者向きなのかな。
ま、ここは研究「雑」報なので、こんなところで今日はおしまい。
| 固定リンク
| コメント (1)
| トラックバック (0)
最近のコメント