別にしんどくないブログ

技術のことや読書メモを書いています

UoPeople CS2204 Communications and Networking ふりかえり

私はUniversity of the Peopleというアメリカのオンライン大学でコンピュータサイエンスを学んでいる社会人です。

shisama.hatenablog.com

今学期受講したCS2204 Communications and Networking について簡単にふりかえりを書き残しておきたいと思います。

どんなコースだったのか

ネットワークに関するコースでOSI参照モデルをもとに物理層からアプリケーション層まで一通り勉強できる内容になっています。

学期ごとに学ぶ内容については以下のツイートの画像のとおりです。

教科書は全体をとおして『An Introduction to Computer Networks』を使います。
オンラインで読めるみたいなのでリンクを貼っておきます。

intronetworks.cs.luc.edu

ただ、他にも補足的に追加の教材が配布されます。
毎週指定されたページを読まなければいけないのですが、結構量は多かったです。
テキストは英語力の問題もありますが、めちゃくちゃわかりやすいわけではありませんでした。
私は副読書として『マスタリングTCP/IP』や『図解入門TCP/IP』を辞書的に利用しました。

こちらのYouTube動画もわかりやすくて大変役立ちました。ネットワークの勉強をしたことない人は一度この動画シリーズすべてを見ておくと全体を把握できて良いと思います。

www.youtube.com

他のコースだとFinal Examが40%でDiscussion Forumは10%といったコースもありますが、このコースは課題の配点が高いのも特徴的でした。

各週の配点

Graded QuizについてはSelf Quizをやっていれば満点取れますが、Final ExamはSelf Quizの復習だけでは満点は取れません。私も満点は取れませんでした。。

各Unitの学習

各週(各Unit)ごとにどんなことを学ぶのかどういった課題が出るのかまとめておきます。
毎週Discussion ForumとWritten Assignment、Learning Journalの3点セットだったのでなかなか大変でした。
Learning Journalはその週の学習日誌ではなく他の課題と同じように質問に答える形式でした。 ただ、500words以上などの提出物の単語数の指定はほとんどありませんでした。

Unit 1

初週はイントロダクション的な内容でOSI参照モデルや「TCP/IPとは」のような基本的なところやEthernetなどを学びます。

Unit 1 のトピック

課題の内容は、ATM (Asynchronous Transfer Mode) と Ethernet の比較、Connection-Oriented(コネクション型)とConnectionless(コネクションレス)の比較などについて質問を答える感じでした。

Unit 2

2週目は物理層について学びました。

Unit2のトピック

課題の内容は、Non-Return to Zero (NRZ) エンコーディングについてや、ツイストペアケーブル、スイッチ、CRC(Cyclic Redundancy Check)などについて質問を答える感じでした。

Unit 3

3週目は物理層のつづきとデータリンク層について学びました。

Unit3のトピック

課題の内容は、1Gから4Gまでの電波についての比較したり、特定の文字を4B/5Bエンコーディングした値を求めたり、エラー検知の仕組みについて説明したり、etc...といった感じでした。

Unit 4

4週目はネットワーク層について学びました。

Unit4のトピック

課題の内容は、IPv4IPv6に関する質問やサブネットマスクに関する質問などに答える感じでした。

Unit 5

5週目はルーティングについて学びました。

Unit5のトピック

課題の内容は、ディスタンスベクタ型とリンクステート型のルーティングについての質問やルーティングテーブルの変化についてなどに答えるといった感じでした。

Unit 6

6週目はUDPについて学びました。このへんからはいわゆるWebエンジニアやアプリケーションエンジニアでも馴染みのある内容になると思います。
私はこの週以降は本を書くときにRFC読んだり復習していたこともあり、Unit5までの内容に比べると楽でした。

Unit6のトピック

課題の内容は、なぜUDPは存在するのかやQUICはどうやってRTTを減らしているのか等の質問に答える感じでした。

Unit 7

7週目はTCPについて学びました。

Unit7のトピック

課題の内容は、SYNリクエストの送信時にポートが見つからなかったときどうなるか?などハンドシェイクや接続終了時のノード間のやりとりに関する質問に答える感じでした。

Unit 8

8週目はアプリケーション層について学びました。

Unit8のトピック

課題の内容は、SSHTLS、PKE、NIDSなどについて説明するといった内容でした。
この週だけWritten Assignmentはありませんでした。
また、Final Examに向けてReview Quizがオープンしますが、内容はこれまでのSelf Quizのまとめっぽい感じでした。Final Examはこれをやっていても点数は取れません。

感想

全体的に教科書の読む量や課題の量が多く、課題をこなすので精一杯といった感じになってしまいました。
ネットワークについては仕事でインフラを担当していないので、知らないことも多かったです。
深くは学ぶことができませんでしたが、体系的にネットワークを勉強する良い機会になりました。
前述した2つの日本語の本やYouTube動画に大変助けられました。