Schedule

Lecture topics are still subject to changes. The last two weeks are held for class project - there will be no lectures but group code design and review.

Week 1: The Basics
Mar. 28 Kickoff Sign up on Piazza
Fill in a Google form
Mar. 30 Computer networks in a nutshell: layers Clark88,
Ch.1.1 - 1.5
Assignment 1 out
Apr. 1 Socket programming
Ch.2.7
Week 2: Network Applications
Apr. 4 Overview of applications
Ch.2.1 - 2.5
Assignment 2 out
Apr. 6 Case study: Peer-to-peer application BitTorrent Cohen03,
Ch.2.6
Assignment 1 due
Apr. 8 Case study: Cloud-based service Dropbox DMM+12,
Week 3: The Transport Layer
Apr. 11 Transport protocols: UDP and TCP
Ch.3.1 - 3.3
Assignment 3 out
Apr. 13 TCP reliability
Ch.3.4 - 3.5
Assignment 2 due
Apr. 15 TCP congestion control
Ch.3.6 - 3.7
Week 4: The Network Layer (IP Layer)
Apr. 18 Wrapping up TCP (Wireless TCP)
Assignment 4 out
Apr. 20 IP layer introduction
Ch.4.1, 4.2
Assignment 3 due
Apr. 22 IP routing (Intra-domain)
Ch.4.6
Week 5: The Network Layer (IP Layer)
Apr. 25 IP routing (Inter-domain)
Ch.4.6.3
Assignment 5 out
Apr. 27 IP data plane
Ch.4.3 - 4.4
Assignment 4 due
Apr. 29 Summary of TCP/IP
Week 6: All Things Wireless
May 2 Data link layer (wired)
Ch.5.1, 5.4
Assignment 6 out
May 4 Wireless physical layer
Ch.6.2 - 6.4
Assignment 5 due
May 6 Wireless MAC protocols
Ch.6.3.2
Week 7: Advanced Topics
May 9 Cloud computing and data centers
Ch.5.6
May 11 Software defined networking The classic talk Assignment 6 due
May 13 Class project: DartSync
Week 8 - 9: Project Weeks
Code design, code review
Week 10: Demo-or-Die Week
June 1 Project demo
June 2 Project report due