言語教育

毎年、9月の中旬に、プログラミングを主題にした集中講義を行っている。3セメの講義ではあるが、3年生や4年生(以上)が半数程度を占める。内容的には2セメで開講している講義と同じで、C言語の入門編を実習を交えながら行う。学年が進んでから、(就職や進学のために)やっぱりプログラミングを勉強しておけば良かった、と思った学生に対するケアをねらって、敢えて学期の狭間に開講しているのだ。

でも、よく考えると、教えている私自身、きちんとプログラミングを教わった経験がほとんどない。もちろん「計算機概論」的な授業はあったけれども、何を教わったのか、あまり記憶がない。私くらいから上の世代の方々は、プログラミングについてはみな独学に近いはずだ。そうすると、プログラミングの授業の位置づけは、昔やった「技術家庭」みたいなもので、「必要になったときに何とかなる(する)類のものであって、経験しておくと便利だから、一応はやっておいたほうが良い科目」といったことになるのかもしれない。

多くの場合、プログラミングは必要悪みたいなもので、やらずに済ませることができれば、それが一番だ。論文を書くのに、TeXのようなシステムを一から開発するようなことは誰もしない*1

*1 そもそもTeXはKnuthが自分で本を書くために作ったそうだけれども。

私の担当分に限れば、シラバスには書かない(ある意味で本当の)授業のねらいは (i) 教材の理解を通じて日本語読解力を高める (ii) 授業時間中、携帯や関係ないHPを見たりせず、課題に集中する (iii) わからなくなったときは、隣近所の学生と相談したり、TAや教員を活用して、問題解決をはかる、といった訓練にもあったりするし、「役に立つ」ことにはあまり重心を置いていない。学部での情報の授業が研究に役に立っていない、との批判はあるだろうけれども、それじゃあ、1年からFORTRANを教材にすれば、研究室に入ったときに使い物になるかと考えてみれば、答えはほぼ確実にNOだろう。

英語を書くとき、まず日本語で考えてから、辞書を引いて、それを翻訳することができる。それが可能なのは、英語の単語や概念に対応する日本語がまずあったからで*2、日本語の語彙が乏しければ、高度な内容を英語で表現することは出来ようがない。計算機の言語教育も似たようなところがあると思う。解くべき課題を計算機のデータとアルゴリズムに翻訳する際に、頭の中には翻訳されるべき論理的に組み立てられた何らかのアイデアがなければ、いくら長時間キーボードの前に座っていても、何も進まない。さらに、計算機がどんな考え方で組み立てられていて、どんなことができるのか、その大枠を知らないと、double a[1000][1000][1000] ; なんて安易に書いてしまうことになる。

*2 もっとも、本当は1対1対応などしているはずはなく、私なんぞは未だに英語がうまく使えませんが・・・

結局のところ、数理的な思考の訓練と、計算機についての一般的な知識の習得がうまく連携しないと、言語教育は単なる習い事にとどまってしまうだろう、というありきたりな結論になってしまった。ともあれ、多くの人にとって(たぶん)必要悪である以上、専門教育で強い動機づけが成されないと、理学部の情報教育はなかなかつらいものがある。


大学ぐらしに戻る