第1112回淡青評論

七徳堂鬼瓦

道具を教える

駒場生にPythonプログラミングと情報科学の基礎を教える「アルゴリズム入門」を1コマ担当している。この講義は2年前までRuby言語で教えていたが、時代の要請に応えて昨年度よりPython言語を使うように講義内容が変更された。文理900人以上が受講する講義内容の転換であるが、準備期間1、2年のとても素早い転換であった。教科書の執筆をはじめ転換の実務を担当された先生方の努力に頭が下がる。

転換にあたり、内容も情報科学の数理的な内容を減らし、色々な科学分野に例をとったプログラミングによる課題解決の紹介を増やすこととなった。課題解決の紹介から入って、プログラミングを身近に感じてもらい、その上で背景の概念を学ぶ形式である。

プログラミング言語の優劣は、市井のソフトウェア技術者の格好の暇つぶしの話題だが、現実問題RubyとPythonは互いによく似た言語である。よってプログラミングの教育という観点からは、苦労してPythonを使うように講義を変えても見合う効果はあまりない。

しかし今時のプログラミングで、全てを一から書くということはあり得ない。他人が書いたプログラムの断片(ライブラリなどと呼ぶ)を再利用して、自分の目的に固有の部分だけを書く。利用者数が多い言語はライブラリも豊富であるので、この観点では利用者数は正義であり、Pythonは他に優れている。課題解決を紹介する講義はライブラリの使い方を教える講義でもあるので、Pythonで教える効果は高い。

課題解決重視の講義は実は悩ましい。ライブラリを自分で書くには情報理工学に関する深い理解が必要だが、使うだけなら簡単である。学問的な深みもあるとはいえない。情報理工学は他分野の道具であって自立した学問ではない、という誤解を学生に広めてしまうかもしれない。幸い、私の講義を昨年受講した学生諸氏は新しい講義内容に物足りなさそうであった。今年はいま少し深みを見せたい。

千葉滋
(情報理工学系研究科)