OMSCSに入学してから早2か月ちょい。
もうすぐ2024春の履修登録が始まります。
以前から履修計画を立てないとな~とうっすら考えていたので、この機会に腰を据えて立ててみることにしました。今回は、現時点で興味がある科目を、卒業要件で種類わけして紹介してみます。
本記事は前後編に分かれています。後編はこちらから↓
【OMSCS】履修計画を立ててみる(後編:実際に立ててみました) | minの小部屋 (min-kobeya-blog.com)
前提:専攻はComputing Systems
わたしはComputing Systemsを専攻しようと考えているので、卒業要件はこのページにある通りになります。
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
この科目は、オンライン生が唯一取れる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
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
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
認証やアクセス制御にまつわる問題とそれに対するアプローチ、セキュリティポリシー、分散システムにおけるセキュリティ問題について学べるコースです。個人的にセキュリティに興味があり、このコースは気になっています。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
産業システムやインフラに関するセキュリティ問題について学べるコースです。個人的に興味があるコースではありますが、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
スケーラビリティを持つ並列アルゴリズムの入門的な授業です。
「スケール」とは、問題サイズが大きくなるにつれて効率的になることと、システムサイズ(コア数や計算ノード数で測定)が大きくなるにつれて効率的になることの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
クラウド・コンピューティング・インフラストラクチャの様々なレイヤーの開発について、院の上級レベルで深く学べるコースです。それなりに人気があるコースの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
高級言語の自動コンパイルの理論と実践について学べるコースです。ハードウェアについて学びたいなら受講して損はないと人気の科目です。自分が普段使っている言語の裏側を学べそうで興味があります。
シラバス | 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ってこんな授業もあるんだーと改めて知れて面白かったです。
後編はまた後日公開しようかと思います!
後編はこちらですのでよろしければ!
にほんブログ村