Internet Networking
“Most people’s code must have resembled a state machine… Only two of you [had code resembling a finite state machine]?! There’s gonna be a lot of zeros on the next assignment!”
Text: Computer Networking: Top-Down Approach 7/E by James Kurose Keith Ross
Prof: Dr. Alan Wagner
The professor is an engaging speaker and likes to intersperse class with somewhat philosophical activities. Though he cares about his students’ learning, he is somewhat disorganized and several lectures were very unclear and confusing, even if you had done the reading. The class is not boring, however, and Dr, Wagner has a lot of useful analogies, aphorisms and anecdotes that you can learn from even if you will not be assessed on them.
Difficulty
Unfortunately, there were several issues with clarity and many more administrative issues that prevented the course from being the dynamic course Dr. Wagner intended. This resulted in amplifying the difficulty of the conceptual material being taught which is actually quite manageable. A lot of terms were not clearly defined, the slides were not structured or written well (especially if they are to be used as a study resource), and the in-class drawings on the slides often added to the general confusion rather than alleviating it. The textbook is sporadically useful, as we often deviate from it, and other times, since we jump around, we lack the pre-requisite knowledge to understand the assigned readings. The assignments are fun, but the evaluation criteria were not clearly defined and kept getting changed in different ways by various contradictory piazza posts by instructors and TAs.
Key Concepts
Networking Layer
Link Layer
Transport Layer
Various Protocols (IP, TCP, ARP etc)
DNS Lookup
Performance metrics
Communicating Finite State Machines
AS’s
Hard Concepts
DNS assignment: Implement a DNS server. The recursive calls along with the caching can get confusing, best not to do it at the last moment.
Layers: Separating out the flows in different layers can be confusing, best to read and understand an example protocol at each layer to get an idea of how it fits together.
Conclusion
Important topic, confusing delivery, still worth taking.