This course is focused on studying networking protocols and applications, including:
Assignments and programming projects will focus the course on network programming in the context of network protocol development and implementation (e.g., TCP, ICMP, routing, multicasting, ARP, etc.), and distributed services and ‘system-level’ applications (e.g., client-server and peer-to-peer applications, distributed file systems, name services, etc.).
The goal is to understand the concepts surrounding ‘system-level’ applications and build such applications (e.g., client-server, peer-to-peer, distributed file systems, etc).