ロンドン大学World Class CS 2023春~2024春セメスター振り返り

だいぶん間が空いてしまいましたが1年分振り返っていきます


長らくブログを更新できていませんでしたが大学は続けてます!この間に取った 7 モジュールの振り返りと、大学の折返しを迎えた自分から、これからオンラインでの UoL CS BSc を検討する人へのアドバイスです。

2023 春~2024 春にとったモジュールたち

2023 春

2023 年春は転職準備を進めるため、1 モジュールだけの受講になりました。

Introduction to Programming II (CM1010)

正直あんまり覚えてません… ITP1 の延長という感じで 3 つのベースになる p5.js アプリの中から一つ選んで、それを拡張したプロジェクトを提出するモジュールでした。自分はペイントアプリの拡張を選びました。ITP1 同様試験ではなくプロジェクトでの採点です。 javascript に慣れていれば、そんなに苦戦するようなモジュールではないかなと思います。逆に新しく学んだことも少ない印象でした。

2023 秋

Fundamentals of Computer Science (CM1025)

コンピューターサイエンス入門のモジュールです。 前半は Descrete Math で触れた集合やブール代数の振り返りを行い、後半から集合の知識を元にオートマトン(DFA, NFA)、正規表現、チューリングマシンなどに拡張されていきます。 その他は分割統治法、ヒープ、マスター定理、安定マッチングなどのアルゴリズムに軽く触れました。 CS 知識をざらっと攫え、今のところ一番楽しめたモジュールでした。今ちゃんと覚えているかと言われると???ですが、地力がついた実感を持てました。

Software Design and Development (CM2010)

ソフトウェアデザインの基礎を学びます。Module complexity、凝集度、結合度、テスト、TDD、エラーハンドリング、バージョンコントロールが主なトピックです。 特にエンジニア経験がほぼなかった自分には勉強になったモジュールでした。

Computer Security (CM2025)

ネットワーク、OS の基礎、暗号、ブロックチェーン、セキュリティモデルを学びます。主に RSA の手計算方法と証明に時間がかかりました。 転職先が E2EE を使ったアプリケーションの会社のため、暗号関連は特に興味を持って取り組めました。

2024 春

Algorithms and Data Structures II(CM2035)

計算量とマスター定理の振り返り、Comparison sort と Non comparison sort、ハッシュと衝突の解決法、二分木とヒープ、グラフを学びます。ADS1 の延長も多かったので連続で取れるならその方が効率が良いように思います。 各トピックの最後に C++でのアルゴリズム実装が設けられていて、そこでグッと理解度が高まった印象です。

Databases, Networks and the Web (CM2040)

Node.js、SQL、テンプレートエンジンを使った動的 Web アプリケーションの基本を学びます。2024 年春に取った三つのモジュールでは一番簡単な印象でした。中間試験は WEB アプリ制作なので時間が取られます。ASP などプロジェクト採点のモジュールとは組み合わせない方が良いと思います。

Agile Software Projects (CM2020)

何でも良いのでアプリケーションを五人チームで作りながら、ソフトウェア開発手法の入門を学びます。中間ではプランのレポート、期末では実際に動くアプリを作ってその開発プロセスについてレポートで提出します。授業では主にプロジェクトマネジメントと市場研究、UX デザイン、アジャイル、テストについて触れられました。 Level4 の Web Development もそうでしたが、チームプロジェクトは完全にランダムでアサインされるため、メンバー次第で作業量も大幅に変わります。 このモジュールは不人気のあまりか 2025 年 3 月に別モジュールに入れ替わりますが、それも正直納得の内容でした。