めでたく修士課程を修了できる運びとなったので、備忘録を兼ねて諸々の記録を思いつく限り残しておきます。大まかに時系列順です。

概要
まず最初に、どういう学校に通っていたかの概要を書き出しておきます。
- 大学: JAISTこと北陸先端大。東京と石川に所在する大学院大学。自分は職場の同僚が卒業生なので入学前からある程度は知っていた。あと日本ではホスティングサーバで理研と並んで有名。変換予測なしには正式名称が綴れないのが弱点。
- 学科: 情報科学、内実はいわゆるComputer Science (CS)。知識科学っていうビズ職向けの学科もあった。最近統廃合があったので現在の構成はよく分からない。
- 課程: 博士前期。通常2年だが、学費の総額は同額のまま最長4年まで延期できる長期履修制度を備えている。
- 社会人コース: 品川駅直通。日本語のみでの講義。長期履修制度の活用が推奨されている。
通い始めた動機
大学院への進学にあたっては大きく2つ動機はありました。
- 単純な知識欲
- 職にあぶれないようにする
1つめの純粋な動機としては、コンピュータサイエンスの基礎を学びたかったというのがありました。非CS系出身でソフトウェア開発者としてフルタイムで働いていましたが、情報科学の基礎のキャッチアップに努めてもどうしても体系的な理解が疎かになりがちです。結果的には大学院に通うのは正解でした。雑にいうと、アルゴリズムとか、ヘネパタ本のようなことを講師から学べたのは非常によかったです。正確にいうと、知識のスタートラインに立って、大まかな地図が手に入ったので今後必要になった局面でどのあたりを勉強すればいいかの当たりがつけられるようになりました。少なくとも従来よりは大きく改善しました。ただ、大学院と一括りにするのは過度な一般化かもしれません。というのは、これはJAISTが大学院大学で、他学科から進学してきた人向けの101的な授業を備えているという特性によるのかもしれません。なお、僕が通っていた社会人コースではプログラミングや英語ができるのはある程度当たり前で、例えばPythonでプログラミングの初歩を習う授業は石川にはありましたが東京には設定されていませんでした。これはまあ妥当だと思います。
そして2つめの動機は職にあぶれたくなかった点。ソフトウェア業界ではCS出身でないひとも多数活躍しています。しかし、個人的な未来観測としては業界が成熟するに従って著名な実績がないと学位がない者は苦戦を強いられそうだと憶測していました。すでに米国の大手IT企業ではその傾向があるとは噂ならずとも募集要項から明らかでした(そして勉強した今になってみると、採用条件に設定するのは妥当だと思えます)。
そういう背景で、社会人コースがあって、できれば4年かかる学部ではなく2年で修了できる修士課程を探して該当したのがJAISTでした。そして何と品川までは当時の勤務先と自宅両方からバス1本で通学できるではありませんか。ということで一生懸命、入学試験の準備を始めました。
授業
特筆すべき点を書き出しておきます。
- 社会人コースは東京サテライトキャンパス(品川オフィス)と呼ばれる場所で大学院レベルの20x-40x系の講義やゼミなどが行われる。なんと先生方が石川からわざわざ来てくださるのだ。これは本当に頭が下がる思いだった。学部レベルの入門にあたる10x系の授業は石川の授業を録画したオンラインで講義があって、考査だけ品川で行われる形式が大半だった。一部テレビ会議形式の授業もあり。
- キャンパスの所在は品川駅港南口すぐの品川インターシティA棟19階。駅からは屋根付きスカイウォークで直結なので雨でも安心。
- 六本木ヒルズ地下のバス停から品川駅高輪口行きの都バスがあって講義に通うのに便利だった。ただ高輪口は歩道橋を登って降りるのがおっくう(再開発予定らしい)。
- 講義は金土日に集中している。裁量労働制だったので、職場に無理を言って金曜夕方の講義に参加させてもらっていた。オンラインと土日だけの講義でもギリギリ修了単位には届くようにはなっていたはず。もう学科の編成も変わってしまったので通用しないかも。
- 社会人コースの学生は、石川の本キャンパスには一切出向かずに卒業できる。石川は英語だけで卒業できるようになっているらしく、前述の同僚はJAISTの留学生として来日した経緯があった。
- 大学の情報システムに改善点が大いにある。開室日の共有はPDFでなくGoogleカレンダーで公開してほしいし、会議室の予約はメールの申請ではなくGoogleカレンダーでさせてほしい。G Suite(Microsoftの製品群でもいい)を導入してくれれば済む雑務を人間がこなしている。主語が大きいことを承知しつつ述べると、こんなの先進的な企業は当たり前にやっていることですよ。
- とある授業でSlackを利用したが大変良かった。講師や他の学生と協力しやすいのが何よりよい。ぜひチャットツールを全学的に導入すべきだろう。
研究
大学院の本領ともいえる研究についても書いておきます。
- 所属する研究室の先生と1 on 1で指導を受けた。ゼミは読んできた論文を発表する形式。僕は、そこで運命的な論文と出会ってしまい、それを発展させようとしたばかりに結構苦労した。
- 社会人コース枠では研究室の配属は負荷分散も兼ねて少人数なので、横のつながりはほぼなかった。ビズ職のひとは小まめに呼びかけて集まりをしているのは見かけた。マーケティングの授業も興味半分で(短期集中でありがたかったこともあり)1つ履修したが、だいぶ毛色が違う。
- 卒業考査には2つ選択肢があって、僕は修士論文での発表を選んだ。既存研究をまとめて発表する形式もある。取得できる単位が修士論文のほうが多い。米国の一流大学の院でも修士課程は論文を書かないことが多いらしい(出典: https://turingcomplete.fm/2)。
- 副指導教員には社会人は研究発表を勧められた。論文にこだわらないなら、本当にそうすべき。
- もし修論コースを選ぶなら、なんなら入学時のプロポーザルの段階で実現可能性はつかめているのが理想。社会人は追い込みに使える時間が少ないので、それくらい早い段階での準備をオススメしたい。
- 副テーマの研究も課されるが、僕は入学前に趣味で作った自然言語処理のアプリケーションをベースにレポートを書いて提出した。高評価だったし、この作戦はなかなか良かった。
- 修論については僕は質に妥協したくなかった(程度問題ではあるが)ので、元々入学時に長期履修制度を申請していたこともあり、履修期間を半年伸ばして2年半にした。そのかいあって修論の評価は優がもらえた。
- 僕は10月入学で3月卒業。どうやら入学のタイミングは年2回に対して、卒業のタイミングは年3回(3,6,9月)あるようだ。
- 履修期間の延長は主指導教員も前向きに賛成してくれた。石川の学生も就活があることもあって、どうしても時間不足になるそうだ。
- 提案手法の評価にあたってプログラムを大学の並列計算機群で演算させた。こういうリソースにアクセスできるのは素晴らしい。Windowsのシンクライアントなども提供されている。実際にJAISTのスパコンを学位授与式のついでに見学したが、普通の人間用の空調で運用されていて素人目には冷却が不十分に見えた。
- 修論で書いたプログラムについては、学生のころの力量だと実装できていなかったと思う。少なくとも、もっと非効率にはなっていたはず。ということを思えば、仕事と学業で行き来があるのは大切である。社会人になってからだと勉強への熱意も違うし、社会でのニーズも具体的に想起できる。なにかを学ぶのも経験が豊富な分、抽象を理解したときの喜びがとても大きい。理想としては兼業と専業の学生が混じり合って研究するのがいいのだろうが、その辺りはやっていないのでわからない。

また思いついたら追記します。研究内容と論文の執筆環境については Master’s Thesis: a machine learning approach to detect software vulnerability にて別途記事にしました。