テキサス大学オースティン校のコンピュータサイエンス修士課程(オンライン)での経験について

あまり人に言ってなかったけど、実は 2020 年の 9 月頃からテキサス大学オースティン校(UT Austin)のコンピューターサイエンス修士課程(オンライン)で仕事の合間にパートタイムで学生やってます(プログラムの通称は MSCSO)。Twitter でジョージア工科大学で勉強する日本人の方々がブログ記事を書いているのを見かけて、UT Austin に関する日本語のブログ記事がないなぁと思い、リモートでコンピュータサイエンスへの学位取得を考えてる方のためになればと思って自分の体験を書きました。

特に UT Austin と Georgia Tech のオンライン版コンピュータサイエンスを両方受験する人が多いと思うので、どちらが自分に合ってるか検討したい人に役に立つかと思います。ちなみに日本人でこのプログラムを履修しているのは今のところ数名しかいないみたいなので、このブログ記事をきっかけにより多くの日本人の方が UT Austin の修士プログラムに挑戦してくれると嬉しいです。

もしブログの内容に書いてないことで聞きたいことがあれば気軽に Twitter とかで質問して下さい!

きっかけ

昔から安価で場所を問わず出来るオンラインコースで勉強するのが好きで、過去にも Coursera、Edx、Udacity といったプラットフォームでプログラミングから数学系のコースまで色々仕事の合間に履修してました。今までに取ったコースで最後までやり切ったコースは例えば、

  • Coursera の Mathematics for Machine Learning Specialization(線形代数の入門に良いレベルだった 。)
  • Edx の 6.431x: Probability - The Science of Uncertainty and Data(素晴らしいコース。でもめちゃくちゃ難しかった。。)
  • Udacity の nanodegree を 5 つほど(昔はコースの質も良くてそんなに高くなかったので一時期 Udacity にハマってた。)

他にも credit や certificate を取らないで audit だけしたコースもいくつかあります。上記のオンラインコースの良かった点は好きな時に好きなコースを取れる点ですが、問題点は

仕事の合間にやるので最後までオンラインコースをやり切るモチベーションを継続するのが難しい。上記の他にもたくさんの CS 系のコースを履修しましたが、人間は基本的に惰性の生き物なので、自分は最初はやる気があっても継続が出来ず途中で辞めちゃったコースがいくつもあります。

世界中の誰でも履修できる(コンピュータサイエンスの経験なくても受講可能)ので、コース内容が比較的簡単になっているコースが多い(そうでないと離脱する人が多いためだと思われる)。特に CS コースはプログラミング中心で数学系をちゃんと勉強したかったら、実際の大学で履修するのと比較して、そこまで深くやらないコースが多いように感じた(もちろん MIT の Probability のやつとかちゃんとガチでやるコースもあります)。ただこの点は最近は多くのオンラインコースが公開されてきて改善されてる印象はあります。

特に自分は 1 に関して、もっとしっかり継続して勉強できないかと考えていた時に、UT Austin が 2019 年にオンライン版のコンピュータサイエンス修士課程を発表した。特に履修出来るコースがとても魅力的に感じて仕事後とか結構時間を持て余していたので、既に学部も修士もイギリスで取って、Imperial College London で CS の修士学位を持っていたのでもう一回修士やる意味あるんかとも思ったが、単純にモチベーションを保ってコンピュータサイエンスを勉強し続けたいと思って、受けてみることにした。

プログラムの特徴

2020 年 2 月頃にジョージア工科大学とテキサス大学オースティン校の 2 校のみ出願をし、無事両方から合格通知をもらったので、最終的には履修コース内容に魅力を感じていたテキサス大学オースティン校に決定しました。

ここでは特にジョージア工科大学と比較して、テキサス大学オースティン校のプログラムはどの点が違うかを書いてみました。授業の全てがオンラインで授業料が安い点など、どちらのプログラムも似ている点が多いので、最終的には自分の目的に合っていそうな大学に進学するのが良いと思います。またジョージア工科大学に関しては自分は授業を取ったことがなく、Reddit 等のオンライン上で見た情報を元にしているので一部正確じゃないかもしれないのでご了承下さい。

全てオンラインで授業料が安い

どちらの大学も全ての授業、採点がオンラインで受講できるため、いつでも好きな時に受講出来るので比較的にフレキシブルにコンピュータサイエンスの学位を取得できます。どちらも合計 10 コースを修了する必要があり、ジョージア工科大学は$5400、テキサス大学は全部で$10000 の授業料がかかります。普通にアメリカの大学に留学すると 1 コース取るだけで$3000-6000 くらいかかるので 10 コースを$10000 以下で受講できるのはかなり安く済みます。 またどちらの大学も授与される学位がオンラインもオフラインも同一のものになるため、オンラインだから修士学位が違う、とか言ったこともありません。

実際に留学するオフラインとオンライン版は(自分の感覚だと)授業の質がほぼ変わらないので、コンピュータサイエンスをちゃんと勉強したいって目的は達成出来ると思います。実際 Imperial College London という大学で留学したが、それと比べても UT Austin で勉強した内容はレベルもほぼ変わらず、オンラインだから簡単だったりいうことはないです。他に特徴としては、筆記試験よりもコースワークが多い印象があり、やはりリモートだと筆記試験は難しく多くの授業ではテイクホーム型の試験(例えば筆記試験期間を週末の2日間設けて、その間に試験をやるスタイル、タイマー 2 時間設定して、その時間内に中間や期末試験を行う等)が採用されてるコースが多いです。

オンラインコースだと録画された授業も見るだけで他のサポートを受けられないか不安になる人もいるかもしれませんが、ちゃんと学習のサポートも整っており、UT Austin の場合

  • 毎週 4-5 回程度のオフィスアワーがあり、全世界のタイムゾーンに対応しているので、Teaching Assistant からサポートや質問に答えてくれたりしてもらえる。
  • Piazza という各授業ごとに設置される QA フォーラムでも質問を投稿すると答えてもらえる。
  • MSCSO 用の Slack チャネルがあり、各授業ごとに受講生同士でコミュニケーションが取れる。
  • Slack 内で自主的に勉強会を組む生徒が多いので、より小規模なグループで勉強を教えあったりすることが出来る。もちろんこれは自発的に企画・参加する必要がありますが。

他にも自分はやる予定ないが、Thesis Option という実際に研究するコースも設けられているので、コースワークを履修するだけじゃなくて研究もしっかりやりたいといったニーズにも答えてくれます。

UT Austin のオンラインプログラムで良くない点は、

  • 他の学生と友達になるのが難しい。多くの人がパンデミックになって経験したと思うが、全てリモートだと他の学生と知り合いになったりといったことが格段と難しくなります。なので海外留学での一番のメリットである別の国との知り合いを作るのが現地留学するよりも確実に難しいです。自分は小規模グループの勉強会やグループプロジェクトで一緒にやった学生と知り合ったり、イギリスから受講している学生と実際に会ってご飯食べに行ったり、日本人の方と Zoom で話し合ったりして何人か知り合いは出来ましたが、現地留学する方がはるかに簡単により多くの友達が作りやすいと思います。
  • 教授と知り合うのが難しい。上記と同じ理由で、例えば将来 PhD への申請のために推薦状を貰いたいって考えている人は、普通に授業を受けてるだけでは教授と知り合いになれないのでより努力しないといけません。
  • コースワークの採点の質がたまにバラツキが出る。やはり授業料も安く各コースの受講者数も多いため、筆記試験以外の証明やプログラミング等のコースワークの採点は Peer Review や Software による自動採点を導入している授業が多い。この点は自分はあんまり気にしてないけど、他の生徒がこれで文句言ってるのを何回か見ました。Peer Review のスコアは複数の生徒が自分のコースワークの採点をして中央値を取ったりする体制が多いので、採点者の一人が別の Peer と比べてあまりにも違った採点をしても影響が出ないようになっています。

まあ見ての通り、オンラインならではの良し悪しがあるので、それを考慮してプログラムを選択してみると良いと思います。

プログラム自体が新しい

MSCSO は 2019 年から開始されおり比較的新しいです。プログラムが新しいことでの良い点は、履修している学生数がまだ少ないため、提供されているコースであれば(今のところは)Waiting List がなく自由に履修することができる点です。現時点でプログラム内の Slack チャンネルには 1000 名強ほどいます(Georgia Tech だと履修学生数が多いため、Waiting List があるそうです)。

プログラムが新しいことでの悪い点としては、

  • 提供されているコース数が少ない。ただ毎年平均 2 つずつ新しいコースが追加されているので時間が経てば解決するはず。
  • 初めて開始されるコースだと課題にバグがあったり授業の運用が思ったように上手く行かなくて余計なストレスがかかる。これも時間が経てば解決するはず。
  • ネット上にどの授業が良いか、卒業後の就職にどう影響したか等の実際の学生の情報がまだ少ない。これもReddit卒業生が作った情報共有サイトなどに少しずつ情報が溜まってきてるので時間が経てば解決するはず。

機械学習系のコースが充実している

これも人によって良し悪しですが、もし AI や機械学習といった分野でより深く学びたいといった人は、UT Austin は関連コースがかなり充実しています。機械学習系だと現時点で以下のコースが取得可能です。

  • Machine Learning
  • Reinforcement Learning
  • Deep Learning
  • Advanced Linear Algebra
  • Optimization
  • Optimization and Online Learning
  • Natural Language Processing
  • Case Studies in Machine Learning

なので機械学習系のコースを取りつつ、CS の基礎も学びたいって人に向いているプログラムだと思います。

卒業条件は大学のサイトで規定されている Application、Theory、Systems から最低 1 教科ずつ履修し、B-以上を取ること(選択科目はC以上)。合計で 10 コースを履修し、GPA 平均 3.0 以上を取ることです。現時点で履修可能なコースの一覧は大学のサイトで確認できます。ちなみに自分は今までに以下のコースを履修しました。

  • 2020 年秋学期: Advanced Linear Algebra, Machine Learning
  • 2021 年春学期: Natural Language Processing, Online Learning and Optimization
  • 2021 年夏学期: Deep Learning
  • 2021 年秋学期: Virtualization

最初はモチベーションも高くてコロナで自宅で過ごす時間がほとんどだったので、各学期に 2 つずつ履修してました。ただフルタイムで仕事をしながら 2 つのコースを取るとものすごく忙しいので、家族や趣味といった別の時間を確保するのがかなり難しくなります(その代わり早く卒業できます)。2022 年春学期と夏学期は忙しくて履修してないです。。。また別の記事で今まで取ったコースの内容だったり様子を書いてみようと思います。

申請準備

申請準備は一般的な海外大学院への留学と同じで、基本的には以下の準備が必要です。詳しくは大学公式のサイトを参照して下さい。

志望理由書

志望理由書では、以下の3点について A4 の 2 ページで書きました。

  • 自分の過去のコンピュータサイエンスでのプロジェクトや研究内容について書き、成績も良い点をアピールして、自分は UT Austin のアカデミックなコンピュータサイエンス授業について行ける点を書きました。
  • 仕事を続けながら機械学習系の CS を勉強できるのが魅力的だ
  • 仕事でもエンジニアやってるのでコース内でのプログラミングにもついて行ける

等を書きました。上手く自分の過去の実績と将来の夢を語って、なぜ UT Austin のオンライン修士がベストな選択なのかをストーリーにして書くと良いと思います。

CV

CV には学歴、職歴、CS 関連のスキル(プログラミング言語等)、ボランティア、今までやった CS 関連のオンラインコースを A4 サイズに 2 ページ書きました。特に仕事用の CV と違って大学向けなので、仕事の実績よりもアカデミックでの実績をしっかり書くように意識しました。

TOEFL

自分はずっとイギリスに住んでいるので、英語テストの準備はしないで済みました。高校生の時に TOEFL の勉強はしていたので(当時は全然英語できなくて、始めて受けた iBT のスコアが 43 とかでした。。)、もし全く英語を使ってないで一から対策すると 1-2 年はかかるので、早めに TOEFL の勉強を始めるのをお勧めします。

GRE

GRE の準備は 2019 年の 12 月頃から GRE を本格的に勉強を開始して、2020 年の 2 月 22 日に一回だけ受けました。準備期間がものすごく短かったのと一発勝負だったので、スコアは Verbal 153, Quantitative 163, Analytical Writing 3.5 とかなり微妙なスコアで提出しました。GRE もちゃんと対策すると時間がかかるので、TOEFL と同じく早めに対策を始めるのをお勧めします。

パンデミック以降は GRE 自体を受けるのが難しくなったため、GRE スコアの提出が不要になったりしたため、その都度募集要項を確認して準備すると良いと思います。

推薦状

エディンバラ大学の学部の卒論でお世話になった Supervisor とインペリアル大学の研究とプロジェクトでお世話になった教授に推薦状をお願いしました。大学の教授は常に忙しいので、時間に余裕を持って事前にお願いしておく方が良いです。もし教授とあまり面識がなかったり、お世話になったのが昔すぎて自分のことをあまり覚えていなかったりした場合は、事前にメールや Zoom 等でどんなことを中心に書いて欲しいか打ち合わせをしておくと推薦者側の負担を減らせるのですぐに書いてもらえます。

大学の成績

こちらは普通に学部と修士の母校に連絡を取って、UT Austin に直接送ってもらうように依頼しました。募集要項には GPA3.0 以上と書いてあるので、大学の成績は高ければ高いほど合格率が高くなると思います。実際に受かった学生の多くは学部時代にコンピュータサイエンスではない学生もかなりいたので、別の専攻だったからと諦めず挑戦してみることをお勧めします(もちろん、)。募集要項にも relevant background がなければオンラインのコースを取って修了書を提出すれば選考の対象にすると書いてあるので、別の学部から CS に変更したい場合でも可能だと思います。

最後に

まあ、冒頭のきっかけでも書いたように、結構軽い気持ちで UT Austin のプログラムを始めてしまったが、Coursera や Edx のようなオンラインコースと違ってはるかに厳しく勉強時間が必要なので、興味本位で始めるのはあんまりお勧めしません苦笑 特に自分は今年の 4 月から、独立・起業という道にキャリアをシフトし始めたので、あまり学位を取得することへの意味が無くなってしまっているのでモチベーションを継続するのが若干難しくなってます(かといってもう 6 教科も履修終わってあと 4 つだけなので、今更辞めるのも若干勿体無く感じてしまう。。)。ただ、プログラム自体の質はとても満足しており、逆に

  • 海外の学位が欲しい
  • CS 学位を取ってソフトウェアエンジニアやデータサイエンティストに転職したい
  • 英語力と技術力を上げて、海外でキャリアを積んで行きたい
  • ただし仕事を続けながらリモートで学びたい

といった強い動機がある人は挑戦する価値はあると思います。これからもし受験する方は、ぜひ頑張って下さい!