アメリカの大学院に落ちた
アメリカのジョージア工科大学というところがオンラインで提供している、コンピューターサイエンスの修士プログラム(以下、OMSCS)に出願していたのだが、今週の初めに不合格通知が届いたのでその振り返りなど。大学院に不合格になった話をするのはあまり気が進まないけど、出願までの道のりと反省を残しておこうと思う。
出願した経緯
元々学部は商学部の出身でありながら、かれこれ2年半ほどソフトウェアディベロッパー(コンピューターサイエンスの学位を持っていないので恐らくエンジニアではない)として働いてきた。仕事に必要なスキルやコンピューターサイエンスの基礎知識は本を読んだり独学で身に付けてきたつもりだったけど、どこかのタイミングで一度体系的に学んでみたいという気持ちをずっと抱えていた。また、海外で働くことも視野に入れると仕事内容と学位をある程度一致させておくことが重要だと考えていた。
今から学部に入り直すと学位取得までに掛かる時間や機会損失が大きいので、仕事を続けつつ2~3年で卒業できるオンラインの修士プログラムを探していた。どうせなら日本語よりも英語で学べるプログラムの方が、英語自体の勉強になるし後々役に立つと思ったので必然的に海外のプログラムを目指すことにした。
以上の諸々を考慮して文系学部出身でも門前払いされないプログラムの中から最もフィットしていそうなOMSCSに専願することにした。(と言うよりむしろ、費用面や内容を考慮してOMSCS以外の選択肢がほぼなかった。)
準備したこと
CS力の強化
理系学部出身ではないけどこのプログラムに出願したい人はジョージア工科大学が提供している以下の3つのオンラインコースを受講することがおすすめされていた。
- Introduction to Python Programming
- Introduction to Object-Oriented Programming with Java
- Data Structures & Algorithms
出願を考え始めた去年の夏から出願までにこの全てのコースをやり終えるのは厳しそうだと考えたのと、PythonとOOPに関してはある程度経験があったので今まであまり勉強をしたことがなかったデータ構造とアルゴリズムを中心に勉強することにした。ただ、ジョージア工科大学が提供しているコースよりもスタンフォード大学が提供しているコースの方により興味が湧いたのでこちらを受けることにした。
このコースは想像以上にハードで毎週課される宿題(選択式と、コーディング)にパスしないと修了証がもらえないのでかなり時間を費やした。結果的に去年の7~10月はほぼ全ての準備時間をこのコースに費やした。
また、これは出願にはあまり役立つとは思わなかったけど仕事にも活かせるのでAWSの資格なども取得した。
英語
英語圏以外の出身者はTOEFLかIELTSのスコア提出が求められていた。TOEFLは前に一度受けたことがあって勝手を知っていたのでTOEFLを選択した。足切りの点数は公式サイトに90点と記載されている箇所と100点と記載されている箇所があり、受験者の間にも混乱を生んでいたけど、過去の合格者の話から90点あれば大丈夫というのが通説となっていたのでとりあえず90点を目指すことにした。年末あたりから準備を始めて2月に97点を取ることができたけど、もう一度受ければ100点を超えそうな気がしたので出願締切直前に再度受けた。その結果103点を取ることができたのでこのスコアを提出した。
ちなみにTOEFLは普通の日本人でも少し勉強すれば100点くらいは取れるので、また別の機会に勉強法などを紹介したい。
SOP
内容はある程度指定されていたので、それ通りに今までの経緯や大学院に入ってから勉強したいこと、卒業後などの展望などを淡々と書いた。何か特定の分野を一つに絞って研究したい訳ではなくて、幅広く授業をとりたいと思ったので正直に興味があるいくつかの授業とそれをOMSCSで勉強したいと思った経緯を書いた。また、オンラインのプログラムやOMSCSがいかに自分にフィットしているかをアピールするように努めた。ネイティブスピーカー2人にチェックしてもらったので文法などは完璧だったと思う。(元の拙い文章を飾り過ぎず、それでいて説得力のあるものにしてくれた2人には感謝したい。)
推薦状
三通用意する必要があり、少なくも一通はアカデミックの分野の人に書いてもらわなければいけなかったので、大学時代のゼミの教授と会社のマネージャーとCEOに依頼した。推薦文の内容も、仕事や勉学に対する姿勢などではなくコンピューターサイエンスの知識を使ってどのような課題を解決したかといった内容を書くようにと細かい指定があったので、そのことも伝えて書いてもらった。(三人とも快く執筆を引き受けてくれてとてもありがたかった。)
今回の反省
今回不合格になった最大の原因は、コンピューターサイエンスの学部レベルの知識を有していて修士プログラムでも問題なくやっていけます、ということを公式というかアカデミックな形でアピールすることができなかったことだと考えている。関連する職務経験があってMOOCをいくつか取っていたとしても、それらは大学院というアカデミックな場所でコンピューターサイエンスを学ぶだけの準備が整っているという評価には繋がらなかった。(現に、職務経験やMOOCがほとんどプラスにならないことはフォローアップのメールや公式サイトに記載されている。)
また、単純に勉強不足だったこともあるだろう。合格者のブログなどを読むとオンラインのコースのいくつも取ったり、コミュニティカレッジなどで単位を取得している人もいた。短い準備期間だったとはいえもっとアピールできる材料を増やすことは可能であったと思う。
学部のGPAが芳しくない(というか在籍当時にGPAという制度がなかったので自分で計算した値しか出せない)というのも原因の一つであると思うけど、これは今後改善できないので仕方がない。
今後について
まだ決めていないけど一年後くらいにもう一度受けるかもしれない。もう一度出願することになった場合、最重要課題はコンピューターサイエンスの"単位"を一つでも多く取ることだと思う。日本にはコミュニティカレッジがないけど、科目履修生という制度などを使えば大学の単位を取得できるのでそれらを活用しようと思う。また、今回受講しなかった例の三コースや数学関連のコースもできる限り受講しようと思う。
あとがき
上でも触れたスタンフォードのアルゴリズムのコースは難しいけど、内容がかなり充実していてこんな授業を無料(追加機能や修了証が要らない場合)で受けることができて良い時代だなと思う反面、学びへのプレッシャーがすごい。