Course schedule


Unit 1

Topic: Networking fundamentals: Introduction, architectures, layering, framing, error detection, and reliable transmission

Reading: Van Steen 1 (Intro), 2.1 (Architectures), P&D 1.3 (Layering), 1.4 (sockets), 1.5 (performance), 2.3 (Framing), 2.5 (reliable tx)

Topic: Internetworking, UDP, and TCP and sockets

Reading: P&D 3 (internetworking), 5.1 (UDP), 5.2 (TCP), Beej’s socket guide

Unit 2

Topic: Remote procedure calls and networked storage

Reading: Van Steen 4.1 and 4.2, P&D 5.3, 7.0, and 7.1

Unit 3

Topic: Virtualization and cloud platforms

Reading: Van Steen 3 (Processes), The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, 2nd ed., by Barroso, Clidaras, and Hölzle. (optional)

Unit 4

Topic: Naming, DNS, and Chord

Reading: Van Steen 5 (Naming)

Unit 5

Topic: Clock synchronization, logical and physical clocks

Reading: Van Steen 6 (Coordination)

Unit 6

Topic: Replication, content placement, caching and the web

Reading: Van Steen 7 (Consistency and Replication)

Unit 7

Topic: Fault tolerance, availability, reliable communication, distributed commit, checkpointing

Reading: Van Steen 8 (Fault tolerance)

Unit 8

Topic: Security: Threats, secure channels, access control

Reading: Van Steen 9 (Security)


Course review and feedback