学生に手を動かしてもらうのは教員もエネルギーを使う

クリスマスイブなので?学校は静かな感じ。もう授業も補講を除いてないので、日野キャンパスの生協も閉まってしまった。卒論生は相変わらず研究しているみたいだが……(確かにいまが追い込みどきである)。

今年は修士論文の副査を5人から頼まれていて、12月26日までに要旨を送ってもらうことになっているので、連絡が来たり要旨が届いたり。要旨があるということは本体もそれなりに書けているのだと思うが、修論もみんな追い込んでいるのだろう。NAISTでも博士論文の副査を2人ぶん頼まれているので、年明けにどばっと2本来るのかな?

NAISTの学生も、博士論文の副査に入っている場合は責任も明確なのでよいが、そうでない場合はどこまで面倒を見た方がいいのか、よく分からない。まあ、本人が相談したいことがあれば連絡してくるだろうし、便りがないのはよい知らせであろう(研究においては往々にしてそうではないことのほうが多いが……)。

昼からせっせと最後の授業の準備を始める。すぐ終わるかと思いきや(最近「おもいきや」と入力すると「思い貴家」が予測候補のトップに出るようになってしまった)、意外と時間がかかり、日付をまたぐどころか午前5時までかかってしまった(帰るとき、始発で出勤する人とすれ違った)。

今回はグラフ探索演習ということで、グラフの最短経路と最小全域木についての資料と課題を用意したのだが、最短経路はダイクストラ法を扱うことにしたので、それとに類比で分かりやすいかと思って最小全域木のほうもプリム法にしてみたのだが、コードを書いてもどうも結果がサンプルと一致しない(ちなみに最小全域木を求めるアルゴリズムとしてはプリム法とクラスカル法が有名だが、プリム法は頂点に着目した貪欲アルゴリズムで、クラスカル法は辺に着目した貪欲アルゴリズムであり、ダイクストラ法は頂点に着目した最短経路を求めるものなので、プリム法とほとんど共通)。おかしいなぁと思っていろいろ調べてみると、クラスカル法は最小全域森を求めるられるのに対し、プリム法は(探索を開始した頂点を含む)最小全域木しか求められないのね……。

あと、今回の一連の演習ではデータ構造について教えていない(し C++ が使えず C で教えないといけない)ので優先度付きキューやヒープを使えなかったのだが、このあたりもちゃんと教えた方がよいように思った。ある値が存在するかどうか、というのを調べるのに、なぜか学生はリストを使いたがる(ファイルを1回だけオープンしてリストに入れて検索するのはまだましで、値の存在をチェックするごとに毎回ファイルをオープンして全部の行をなめて「遅い」と言ったり……)のだが、リストにある要素が含まれているかどうかを調べるのは O(n) かかるので、O(1) でキーにアクセスできる辞書(ハッシュ、マップ、etc)を使ってほしいのである。

計算量やデータ構造についてきちんと学んでいないなら仕方ないことではあるのだが、情報が専門のコースを出ていたら、このあたりは知っていて当然(というか、在学中の研究にも支障が出るレベル)の話なので、うちに大学を出てエンジニアとして働くなら、こういう感覚は卒業するまでには身につけていてほしいものである。ただ、こういう高速化の話って、授業で教えるようなことでもないと思うので、各人が興味を持って調べてもらうしかないと思うのだが、問題に当たらないと調べないよな〜。

うちのコースでは現在ソートも教えていない(し、大学院まで進学しても授業で教わる機会はない)ようなので、来年はソートにも演習を1回使って書いてもらおうと思っているのだが、教えないといけないことに対して授業に使える時間のいかに少ないことか。

教員のみなさんは手を抜いているわけでもないのになんでこういうことになっているのか、ということはこの半年ちょっとで判明しつつあり、誰が悪いというわけでもなく、各人が可能な範囲で最善を尽くして努力した結果、こうなっているのもよく分かるのだが……(たぶんそれなりに計算機科学の分野をカバーしようとすると、いまのコースではまだ教員数が2-3人足りない。学内のほかのコースの科目をうまく共通でやれると解消できそうなのだが、なかなか難しい。)。

そして、どうにかしたいのは山々だが、自分でなんとかしようとすればするほど、結局自分の時間を持ち出してやるしかない(これ自身は仕方ない)ため、どんどん研究に使う時間が削られていき、研究を犠牲にするか家庭を犠牲にするか、というようなジレンマですり切れてしまう。学生が自分で学べるようになればいいのだが、そうするためにはまず教員が相当のエネルギーを投入しないといけないんだよな〜。まあ、自分は家庭を犠牲にするつもりはないので、自分もできる範囲でベストを尽くすしかない。

今年の4月に首都大の情報通信に入学してくる学生からは、これまでと違った感じのコースにできていると思うので、今年の受験生は期待して受験してくれるといいな。往々にして、センター試験で失敗しただとか、各教科の伸びが思わしくなかっただとかで、最初から考えていなかったが、偶然受けるという生徒も多いのであろうが……。

他の大学(東大、東工大農工大、筑波大等)と比べて思うのは、首都大の情報通信の学生は極めてコミュニケーション力が高く、いわゆるリア充的な感じ(工学系にしては、という意味で……)で、就職に困らないというのは都立大の伝統があるせいではなく、これだけちゃんと話せたらそりゃ問題にないだろう、と思う。あと、学生は大体真面目で、ちゃんとしつけられて、家族の仲もよい、いい家庭に育ったんだな、という人がとても多い(「勉強だけしていればよい」なんて家庭に育っていない)。

ただ、授業料を自分で稼がないといけない苦学生も多く、ちょっと話を聞いていて気の毒に思うこともある。東大ではそんな話、ほとんど聞かなかった。親が金持ちかどうかが子どもの学力に現れていた。そう思うと、首都大は努力次第でワンチャンスある感じなのが好きなところである。アルバイトが夜勤2日も含め週4日ある、なんて聞くと、アルバイトで勉強や研究に使える時間が著しく少なくなるのは、大学としては本末転倒な気がするが……(能力があるのにそういう事情で思うように研究できない人には深く同情するので、もし研究室に配属されたら、できるだけ条件のよいアルバイトを回してあげたい)。