淡青評論 第1112回、学内広報 no.1527、東京大学広報室、2019 年 10 月 25 日.

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

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

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

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

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

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

Back