プログラミングのTA楽しいわ

うちの助教授が担当するプログラミングの授業のTA初仕事。2年生にC言語の手ほどきを教えてきたのですが、みんな予想以上にしっかり取り組んでくれてこっちも楽しかったです。これでお金がもらえるなんてウマー。先生の講義自体にはほとんど意味がなくほとんど独習+TAに聞くという授業なので、こっちとしてはやりがいのある仕事です。


最近は理系の1年生はUNIXとCのさわりをやって、2年生でもう少し難しいCプログラミングの演習。3年生でJavaのプログラミング演習をやることになっています。どこかの東京大学ではRubyを教えているそうですが、うちの大学もようやくCの呪縛から解放されつつあります。


とは言ってもCなんてやめてRubyにしようぜっていうわけじゃありません。初心者にプログラミングを教えるならどの言語がいいかというのも難しい問題です。大学としては計算機科学の一環としてプログラミングを教えているのでしょうから、現代の計算機の挙動を低いレイヤーから理解する上でCは悪くない選択だと思います。


しかし、研究でプログラムを作って実験するといった段階に至るとC言語では面倒なことが多いのは確かです。前にいた研究室は文字列の研究だったのですが、PythonRubyはとても役に立ちました。初心者に教える段階で生産性云々の議論が必要ではないと思いますが、初心者が一人で何か作りたいと思ったときに敷居の低さで言えばスクリプト言語に軍配が上がるんじゃないかと思います。


先生方の確固たる教育方針にもとづいて選んでもらえればそれでいいので、「今まで通りC言語」っていう思考停止には陥って欲しくないですね。あとは、扱うテーマについてですが「連立一次方程式の解を求める」って個人的に全然おもしろさを感じません。今日の学生が予想以上にやる気があったのでこっちが驚いてしまいました。まぁ、1年生のときは「体重と身長を入れてBMIを求める」なのでレベルは上がっているといえば上がっているのですが、そのテーマが終わったあとの展望がないんじゃプログラミングの楽しさが味わえないんじゃないでしょうか。


僕としてはプログラミングの授業を受けてプログラミングを好きになってもらえたら嬉しいです。楽しい授業=理解の深まる授業ではありませんし、もしかしたら今のやり方がいいのかもしれませんが、大学の先生には相手がプログラミング初心者であることを考えてもう少し練った授業をして欲しいものですね。