【OMSCS】履修計画を立ててみる(前編:気になっているコースの紹介)

OMSCSに入学してから早2か月ちょい。

もうすぐ2024春の履修登録が始まります。

以前から履修計画を立てないとな~とうっすら考えていたので、この機会に腰を据えて立ててみることにしました。今回は、現時点で興味がある科目を、卒業要件で種類わけして紹介してみます。

目次

前提:専攻はComputing Systems

わたしはComputing Systemsを専攻しようと考えているので、卒業要件はこのページにある通りになります。

Specialization in Computing Systems | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

Core1から1コース、Core2から2コース、Electivesから3コースの計6コースの単位を取る必要がある

というのが必須要件です。

卒業に必要なのは10コース30単位なので、残り4コースはオンラインで選択できる範囲で自由に受講していいということになります。

今期(2023秋)で受講している科目

今期わたしが受講しているのは、「CS6035 Introdution to Information Security」というコースです。

このコースはElectivesにカウントされているので、(無事に単位を取得できれば)Electivesは残り2コースになる、ということになります。

現時点で興味がある科目

ここからは、今興味があるコースを、Core1、Core2、Electivesの順に挙げてみます。なお、1週間あたりに取られる勉強時間や難易度はこのペーを、そのほかの情報収集にはOMSCS公認のRedditを参考にしました。

Core1

CS6515: Intro to Graduate Algorithms

CS 6515: Intro to Graduate Algorithms | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

この科目は、オンライン生が唯一取れるCore1のコースです。なかなか難易度が高めだという評判も聞き、OMSCS生のほとんどが通る関門のようなコースです。

また、唯一ということで、コースの席争いが毎期激しいです。前回の履修登録で、わたしが履修登録をできるころにはwaitlistが大変なことになっていたのを朧げに覚えています。

シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_6515_syllabus_2023-2.pdf
難易度4.08 / 5
1週間当たりにかかる時間19時間
コースレビューhttps://www.omscentral.com/courses/introduction-to-graduate-algorithms/reviews
その他前提としてあると望ましいもの
・EdXのアルゴリズムの授業を一通り復習しておくとよさげ
・離散数学
・アルゴリズムのランタイム

Core2

オンライン生のCore2の選択肢は5コースですが、現時点でその中の3コースはチームプロジェクトがあるそう。チームプロジェクトはあまりいい噂を聞かないので、できれば避けたいところです。そうすると必然的に、残りの2コースを取ることになります。

CS6210: Advanced Operating Systems

CS 6210: Advanced Operating Systems | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

OSについて学べるコースです。CS6200の後に受講してみるとよさげです。

このコースはOMSCS生内での人気が高く、「OMSCSのベスト3コースは?」と聞くと必ず名前が挙がるほど。以下に具体的な評判も列挙してみます(Redditを参考にしています)。

  • 膨大なケーススタディがあり勉強になる
  • プログラミングを学ぶコースとしてもよい
  • ハードウェアや分散コンピューティングを学びたいなら必ず受講すべき
  • とりあえず何が何でも取るべき
シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_6210_syllabus_and_schedule_2023-1.pdf
難易度4.15 / 5
1週間当たりにかかる時間17.21時間
コースレビューhttps://www.omscentral.com/courses/advanced-operating-systems/reviews
その他前提としてあると望ましいもの
・OSの基礎知識は必須
・CS2200を履修済みだと望ましい(講義動画:
https://www.youtube.com/playlist?list=PLl2dezBNo_Bkd8YmSkCX0M7AORHJXe5uG
・CS6200を先に取っておくといいという情報もあり

CS 6250: Computer Networks

CS 6250: Computer Networks | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

インターネットの全レイヤーに関するプロトコルとアルゴリズムについて学ぶコースです。このコースは特に目立った評判はキャッチできてませんが、難易度は比較的低めのようです。

シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_6250_syllabus_and_schedule_2023-2.pdf
難易度2.43 / 5
1週間当たりにかかる時間8.92時間
コースレビューhttps://www.omscentral.com/courses/computer-networks/reviews
その他前提としてあると望ましいもの
・TCPやUDPについて説明できること
・Pythonでスクリプトを組むくらいはできること
・スリーウェイハンドシェイクについて説明できること
・マップされたディレクトリがない仮想マシンからファイルを取り出せること

Electives

全般的に、OMSCS生に人気のコースはElectivesに多い傾向にある気がします。興味があるものが多いのですが、卒業までにElectivesから受講できるのは最大でも残り6コースしかない(今期すでに1コース取っているため)ので、悩みどころです。

CS 6200: Introduction to Operating Systems

CS 6200: Introduction to Operating Systems | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

OMSCS生に「もし全コース中ベスト3なコースを挙げるならどれ?」と質問をすると、ちらほら名前が挙がるのがこのコースです。OSについて、院の入門レベルから学べます。「C言語に詳しくないならこのコースを取っておくといい」という意見や、このコースの受講後が望ましいとされるコースもあるので、初期段階で受講しておきたいものです。

シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_6200_syllabus_2023-1.pdf
難易度3.68 / 5
1週間当たりにかかる時間18.40時間
コースレビューhttps://www.omscentral.com/courses/graduate-introduction-to-operating-systems/reviews
その他前提としてあると望ましいもの
・C、C++の経験
・Ubuntu、Vagrant、Docker
・gdb、gcc

CS 6238: Secure Computer Systems

CS 6238: Secure Computer Systems | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

認証やアクセス制御にまつわる問題とそれに対するアプローチ、セキュリティポリシー、分散システムにおけるセキュリティ問題について学べるコースです。個人的にセキュリティに興味があり、このコースは気になっています。OMSCS生内での評判はそんなに耳にしません。

シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_6238_syllabus_and_schedule_2023-1.pdf
難易度3.58 / 5
1週間当たりにかかる時間15.94時間
コースレビューhttps://www.omscentral.com/courses/secure-computer-systems/reviews
その他前提としてあると望ましいもの
・学部レベルのOSの知識
・Cでのシステム開発経験
・Pythonのプログラミング経験

CS 6263: Intro to Cyber Physical Systems Security

CS 6263: Intro to Cyber Physical Systems Security | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

産業システムやインフラに関するセキュリティ問題について学べるコースです。個人的に興味があるコースではありますが、OMSCS生内での評判は特に耳にしません。

CS6035やCS6250の後に受講すると良さげです。

シラバスhttps://sites.google.com/site/samanzonouz4n6/resume/oms-intro-cps-security-summer23?authuser=0
難易度2.59 / 5
1週間当たりにかかる時間9.93時間
コースレビューhttps://www.omscentral.com/courses/advanced-topics-in-software-analysis-and-testing/reviews
その他前提としてあると望ましいもの
・情報セキュリティやコンピュータネットワークのコースの受講経験
・CやPythonのプログラミング経験

CS 6340: Software Analysis

CS 6340: Software Analysis | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

ソフトウェア分析のテクニックやその限界について学べるコースです。わたしはWeb開発の経験があるため、このコースは仕事に活かせるかも、、、?と思い興味を持っています。OMSCS生内での評判は特に耳にしません。

シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_6340_syllabus_2023-2.pdf
難易度3.25 / 5
1週間当たりにかかる時間12.81時間
コースレビューhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_6340_syllabus_2023-2.pdf
その他前提としてあると望ましいもの
・C系でのプログラミング経験(C, C++, Java, C#等)
・基礎的なコンピュータサイエンス、数学
コースの授業動画はこちら
前提条件の詳細

CS 7210: Distributed Computing

CS 7210: Distributed Computing | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

分散コンピューティングの基本的な概念と、分散アプリケーションを可能にするシステム設計について学べるコースです。分散コンピューティングについて学びたいなら受講したほうがいいと評判の授業で、OMSCS生内での人気もそれなりにあります。ただ同時にOMSCSきっての高難易度との呼び声も高く、受講の際には時間と覚悟が必要そうです。

CS6210を受講後、分散コンピューティングの知識を得たければ受けてみると良さげです。

シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_7210_syllabus_and_schedule_2023-1.pdf
難易度4.65 / 5
1週間当たりにかかる時間56.76時間
コースレビューhttps://www.omscentral.com/courses/distributed-computing/reviews
その他前提としてあると望ましいもの
・CS6200
・CS6210
・CS6250

CS 7280: Network Science

CS 7280: Network Science | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

ネットワークのトポロジーとダイナミクスについて学ぶことで、システムの挙動や機能、特性のより良い理解を目的とした授業です。この分野自体が結構新しめのテーマらしく、何が学べるのかいまいちわかりませんが、面白そうです。OMSCS生内では特に評判は聞きません。

シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_7280_syllabus_and_schedule_2023-1_v2.pdf
難易度2.85 / 5
1週間当たりにかかる時間13.17時間
コースレビューhttps://www.omscentral.com/courses/network-science-methods-and-applications/reviews
その他前提としてあると望ましいもの
・微積、線形代数、確率
・プログラミング経験
このテストが解けるなら問題なし

CSE 6220: Intro to High-Performance Computing

CSE 6220: Intro to High-Performance Computing | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

スケーラビリティを持つ並列アルゴリズムの入門的な授業です。

「スケール」とは、問題サイズが大きくなるにつれて効率的になることと、システムサイズ(コア数や計算ノード数で測定)が大きくなるにつれて効率的になることの2つを指す。

(DeepLで翻訳)

CSE 6220: Intro to High-Performance Computing | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

この授業もOMSCS生内で「ベスト3のコースを選ぶなら?」と聞くとたいていランクインするような評判高い授業です。

  • ある程度のCS知識があるなら絶対取るべき
  • 分散コンピューティングに興味があるなら取るとよい
  • とりあえずComputing Systems専攻なら取っておいて損はない

と、具体的な理由はぼんやりしていますが、人気が高いことは間違いなさそうです。

CS6515受講後に取るのがおすすめみたいです。

シラバスhttps://cse6220.gatech.edu/sp23-oms/
難易度4.27 / 5
1週間当たりにかかる時間21.28時間
コースレビューhttps://www.omscentral.com/courses/high-performance-computing/reviews
その他前提としてあると望ましいもの
・CS6515
・C、C++
・UNIXやLinuxの経験
このテストが解ければ問題なし

CS 6211: System Design for Cloud Computing

CS 6211: System Design for Cloud Computing | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

クラウド・コンピューティング・インフラストラクチャの様々なレイヤーの開発について、院の上級レベルで深く学べるコースです。それなりに人気があるコースの1つですが、このコースを受講すべきかどうかは多少意見が分かれます。曰く

  • CS6210の後、さらにクラウドについて深い知識を得たいなら受講すべきだ
  • CS6210かCS7210かこの科目のどれかを受講したら十分だ

と真反対の意見が見られます。自分が何を学びたいかを吟味し、興味があれば受講してみると良さそうです。

シラバスhttps://faculty.cc.gatech.edu/~rama/CS6211-External/
難易度4.58 / 5
1週間当たりにかかる時間28.92時間
コースレビューhttps://www.omscentral.com/courses/special-topics-systems-issues-in-cloud-computing/reviews
その他前提としてあると望ましいもの
・CS6210でAの成績を取得

CS 8803 O08: Compilers – Theory and Practice

CS 8803 O08: Compilers – Theory and Practice | OMSCS | Georgia Institute of Technology | Atlanta, GA (gatech.edu)

高級言語の自動コンパイルの理論と実践について学べるコースです。ハードウェアについて学びたいなら受講して損はないと人気の科目です。自分が普段使っている言語の裏側を学べそうで興味があります。

シラバスhttps://omscs.gatech.edu/sites/default/files/documents/course_page_docs/syllabi/cs_8803-o08_syllabus_2023-2.pdf
難易度4.60 / 5
1週間当たりにかかる時間28.45時間
コースレビューhttps://www.omscentral.com/courses/special-topics-compilers-theory-and-practice/reviews
その他前提としてあると望ましいもの
・データ構造とアルゴリズムの理解
・JavaやC++の経験

おわりに

今回は、わたしが気になっているコースをドバっと紹介してみました。実はComputing Systems専攻以外にも気になっているコースはあるんですが、そこまで考えだすとかなり長くなりそうなので端折りました。

OMSCSってこんな授業もあるんだーと改めて知れて面白かったです。

後編はまた後日公開しようかと思います!

後編はこちらですのでよろしければ!

にほんブログ村 大学生日記ブログ 通信大学院生へ
にほんブログ村 PVアクセスランキング にほんブログ村
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

20代の元Webエンジニア。
海外大学院体験記や読書ログなど、日々の学びをアウトプットしていきます!

目次