プロフィール画像

Masaki Nishi
ソフトウェアエンジニア

ジョージア工科大学のコンピュータサイエンス修士課程に入学して1年経った【OMSCS】

2025年中に受けた講義と所感について

georgia-tech-computer-science

2025年1月にジョージア工科大学のオンラインのコンピュータサイエンス修士号プログラムに入学しました。

入学前に実施した履修計画から早くも逸れた2025年でした。

忘れないうちに2025年に受講した3つの講義の総括を書き残していきます。

Spring 2025

学期 番号 名前 Grade 難易度 作業量
Spring 2025 CS6200 Graduate Intro to OS A 難しい 232時間

仕事が忙しかったため、3カ年計画を前提にまずは1つだけクラスを受講しました。

OMSCSの中でも難しいとされるOSのクラスを最初に取ることで、今後も続けていけそうかを試そうと思いました。

CS6200 – Graduate Intro to OS

ざっくり「OSの基礎(概念)+ 低レイヤ実装(C/C++でのシステムプログラミング)」をセットでやるクラスでした。

  • OSの基礎:スレッド、並行性、IPC、スケジューリング、メモリ概念、分散っぽい話(RPC/DFS)など
  • 課題:Linux上で C/C++ を使い、デバッグしながらプロジェクトを仕上げるタイプ

うろ覚えですが、実際の課題は以下のような形でした。

  • C:ソケット/ネットワーク絡み(ファイル転送、クライアント/サーバ、マルチスレッド化)
  • C:IPC(共有メモリ、プロセス間通信、キャッシュ/プロキシ系)
  • C++:RPC / gRPC / protobuf を使った分散ファイルシステム(DFS)っぽい実装

成績評価は以下のような形でした。

  • 試験(中間+期末)で約50%
  • プロジェクトで約45%前後
  • 出席点で約5%前後

最終成績は以下のようになりました。

  • Projects 102.67%
  • Midterm Exam 69%
  • Final Exam 76%
  • Total 87.45%

カーブ(テストや課題の平均点が低い場合に、全体の成績を相対的に底上げする評価調整手法)が行われて最終的にA評価となりました。

オレゴン州立大学での学部クラスの難しいクラスと比較して多少難易度が上がったかなという感想です。単純に作業量が多く、試験がクローズドノートだったので大変でした。

引っ越しというプライベートイベントと重なって1ヶ月ほど勉強に集中できない期間がありましたが、無事に修了できたため卒業はできるなという確信を得ました。

Summer 2025

学期 番号 名前 Grade 難易度 作業量
Summer 2025 CS6035 Intro To Info Security A 易しい 113時間

ジョージア工科大学も夏学期は短縮学期となるため、比較的作業量の少ないクラスを受講しました。

CS6035 – Intro To Info Security

情報セキュリティの広い分野を、CTF(Capture The Flag)形式のプロジェクトで実施するクラスでした。

講義・教科書で体系的に教わるというより、課題を解くために自分で調べて手を動かして学ぶ形式でした。

実施した課題と採点比率は以下のような形になりました。

  • Man in the Middle(10%)
    • 提供された PCAP を解析し、MITM 攻撃の痕跡や通信内容を特定する課題。
    • 105 / 100(Extra Credit込み)
  • Machine Learning in Cybersecurity(10%)
    • マルウェアデータセットを前処理し、複数の ML モデルで分類器を構築・評価する課題。
    • 100 / 100
  • Binary Exploitation(14%)
    • 脆弱 C プログラムを解析し、GDB と Pwntools を用いてバッファオーバーフロー exploit を作成する課題。
    • 100 / 100
  • Binary Exploitation Extra Credit(2%)
    • より難しいバイナリエクスプロイトに挑戦する追加 CTF 課題。
    • 80 / 100(戦略的に一部未対応)
  • API Security(10%)
    • Swagger API を対象に、JWT や認可不備を突いて不正アクセスを行う攻撃課題。
    • 100 / 100
  • Web Security(10%)
    • XSS・CSRF などの Web 脆弱性を実際に悪用してフラグを取得する課題。
    • 100 / 100
  • Log4Shell(14%)
    • Log4j の Log4Shell 脆弱性を再現し、LDAP + JNDI を用いた RCE 攻撃を実装する課題。
    • 100 / 100
  • Malware Analysis(10%)
    • Sandbox レポートを基に、複数マルウェアの静的・動的挙動を分析する課題。
    • 89.5 / 100(戦略的に一部未対応)
  • Malware Analysis Extra Credit(2%)
    • 追加マルウェアの深掘り解析を行うオプション課題。
    • 24 / 30(戦略的に一部未対応)
  • Cryptography(12%)
    • RSA の暗号処理と脆弱性攻撃を数論ベースで実装する課題。
    • 100 / 100
  • Database Security(10%)
    • Inference Attack や SQL Injection を使い、DB から情報を不正取得する課題。
    • 25 / 100(戦略的に一部未対応)
  • Extra Credit Exam(2%)
    • コース全範囲の追加ボーナステスト(任意)。
    • 0 / 100(戦略的に未対応)
  • Total
    • 95.15%

講義動画もありますが、課題に直結しないのでほぼ見ずに進めました。また、仕事に集中したかったので、成績が確定してきたあたりで意図的に一部課題を落としました。

セキュリティ未経験で広く触ってみたい、自走して調べるのが苦じゃない(ググって試して進める)、CTFパズルっぽい課題が好きという人は合うと思います。

Fall 2025

学期 番号 名前 Grade 難易度 作業量
Fall 2025 CS6250 Computer Networks A 易しい 79時間

履修計画から逸れますが、転職でCTOに就任することになったため、作業量の少ないクラスを選択しました。

自主的に残業できる時間が生まれたので、選択として正しかったと思います。

CS6250 – Computer Networks

ネットワークの重要トピックを広く扱いました。

以下のような「ネットワークの主要語彙」を一通り触っていくクラスでした。講義は動画とテキストですが、結局テキストを読む方が早いので、途中から動画は見ませんでした。

  • レイヤ構造(L2/L3/L4)
  • ルーティング、輻輳制御、トランスポート
  • DNS、BGP、ASの世界
  • SDN(Mininetなど含む)
  • CDN

課題は以下をPythonで実装する形でした。

  • BGP Hijacking:より短い AS パスや、より具体的なプレフィックスを広告することで通信を奪い、BGP の脆弱な性質を確認する。
  • Spanning Tree Protocol(STP):スイッチ間のループを防ぐために、Root Bridge 選定とリンクコスト計算を行う。
  • Distance Vector Routing(DV):隣接ノードと距離情報を交換しながら、最短経路を計算・更新する。
  • SDN Firewall:SDN 環境上で、パケット条件に基づいて通信を許可・遮断する。
  • BGP Measurements:実際の BGP 更新データを解析し、AS パスやプレフィックスの変化を集計する。

成績評価は以下のような形でした。

  • 試験(中間+期末)で24%
  • プロジェクトで66%
  • 小テスト(クイズ)で10%

最終成績は以下のようになりました。

  • Midterm Exam 92.2%
  • Final Exam 76%
  • Projects 100%
  • Quizes 97.61%
  • Total 94.19%

深掘りというより「全体像をつかむ・用語と仕組みを繋げる」用途に向いた内容でした。

仕事の関係で期末は試験用の勉強をしなかったですが、ちゃんと点数取れたので、講義を理解していればほとんど試験勉強はいらないと思います。

まとめ

オレゴン州立大学に引き続き、ちゃんと時間を費やして勉強すれば問題なく卒業できるかなと思いました。

2026年は履修計画から逸れますが、引き続き仕事に集中したいので、比較的作業量の少ないクラスを選択していくと思います。

また、専攻自体もArtificial Intelligenceに変更したので、AI関連のクラスを受講していこうと思います。2025年はLLMの発展が目まぐるしく、エンジニアとしてはほぼ必須のツールと化しました。これらの状況と今後のキャリアパスを鑑みて、AIの学習に投資していく意思決定をしました。

この記事も誰かの参考になれば幸いです。今年もよろしくお願いいたします。

シェアする

プロフィール画像

Masaki Nishi

ex-btrax, Rakuten, AWS, Deloitte / B.S. in CS @OregonState, M.S. in CS @GeorgiaTech

詳細プロフィール