January 21. Networks and protocols.
Reading: Kurose and Ross, sections 1.1 through 1.5 (pages 1 - 38); Harold, chapter 1 (pages 1 - 19).
January 23. Switching and routing.
Reading: Harold, chapter 4 (pages 75 - 116).
January 25. Input and output in Java.
Reading: Kurose and Ross, section 1.6 (pages 38 - 44).
January 28. Delay and loss.
Reading: Kurose and Ross, sections 1.7 through 1.10 (pages 44 - 69); Harold, chapter 2 (pages 20 - 48).
January 30. The protocol stack.
Reading: Harold, chapter 5 (pages 117 - 164).
February 1. Threads in Java.
Reading: Kurose and Ross, sections 2.1 through 2.3 (pages 72 - 106); Harold, chapter 3 (pages 49 - 74).
February 6. The Hypertext Transfer Protocol (HTTP) and the File Transfer Protocol (FTP).
Reading: Kurose and Ross, section 2.4 (pages 106 - 124).
February 8. The Simple Mail Transfer Protocol (SMTP) and Multipurpose Internet Mail Extensions (MIME).
Reading: Harold, chapters 7 and 8 (pages 193 - 266).
February 11. Processing URLs and HTML in Java.
Reading: Kurose and Ross, section 2.5 (pages 124 - 136); Harold, chapter 6 (pages 165 - 192).
February 13. The Domain Name Service (DNS).
Reading: Kurose and Ross, sections 2.6 through 2.8 (pages 136 - 164).
February 15. Sockets and socket programming.
Reading: Harold, chapters 10 and 11 (pages 301 - 387).
February 18. Sockets in Java.
Reading: Kurose and Ross, sections 3.1 and 3.2 (pages 167 - 177).
February 20. The transport layer.
Reading: Kurose and Ross, section 3.3 (pages 177 - 182); Harold, chapter 13 (pages 411 - 449).
February 22. The User Datagram Protocol (UDP).
Reading: Harold, chapters 15 and 16 (pages 472 - 559).
February 25. Protocol handlers in Java.
Reading: Kurose and Ross, section 3.4 (pages 182 - 207).
February 27. Reliable data transfer; flow control.
Reading: Kurose and Ross, section 3.5 (pages 207 - 231).
March 1. The Transmission Control Protocol (TCP).
March 4. The class project: Design walkthrough.
Reading: Kurose and Ross, sections 3.6 through 3.8 (pages 231 - 268).
March 6. Congestion control.
Reading: Karl Fogel, Open source development with CVS, chapter 2 (``An overview of CVS'').
March 8. The class project: An introduction to CVS.
Reading: Kurose and Ross, sections 4.1 through 4.3 (pages 269 - 300).
March 11. The network layer.
Reading: Kurose and Ross, section 4.4 (pages 300 - 321).
March 13. The Internet Protocol (IP) and the Internet Control Message Protocol (ICMP).
March 15. The class project: Code walkthroughs and test results.
Reading: Kurose and Ross, sections 4.5 through 4.9 (pages 321 - 376).
April 1. Routing and routers.
Reading: Kurose and Ross, section 5.1 (pages 379 - 384).
April 3. The data link layer.
April 5. The class project: Code walkthroughs and test results.
Reading: Kurose and Ross, section 5.2 (pages 385 - 391).
April 8. Error detection and correction.
Reading: Kurose and Ross, sections 5.3 and 5.4 (pages 391 - 415).
April 10. Multiple-access protocols; the Address Resolution Protocol (ARP).
April 12. The class project: Code walkthroughs and test results.
Reading: Kurose and Ross, sections 5.5 through 5.7 (pages 415 - 447).
April 15. Local-area networks using Ethernet; hubs, bridges, and switches.
Reading: Kurose and Ross, sections 5.8, 5.9, and 5.11 (pages 447 - 465 and 471 - 480).
April 17. The Point-to-Point Protocol (PPP); Asynchronous Transfer Mode (ATM).
April 19. The class project: Code walkthroughs and test results.
Reading: Kurose and Ross, section 6.1 (pages 483 - 491).
April 22. Multimedia applications; data compression.
Reading: Kurose and Ross, sections 6.2 and 6.3 (pages 491 - 510).
April 24. Streaming audio and video.
April 26. The class project: Integration testing.
Reading: Kurose and Ross, section 6.4 (pages 510 - 522).
April 29. The Real-Time Protocol (RTP) and the RTP Control Protocol (RTCP).
Reading: Kurose and Ross, sections 6.5, 6.6, and 6.10 (pages 522 - 536 and 556 - 562).
May 1. Scheduling and policing.
May 3. The class project: Shakedown.
Reading: Kurose and Ross, sections 7.1 through 7.5 (pages 565 - 602).
May 6. Network authentication and key distribution.
Reading: Kurose and Ross, sections 7.6 through 7.9 (pages 602 - 632); Harold, chapter 12 (pages 388 - 410).
May 8. Pretty Good Privacy (PGP); the Secure Sockets Layer (SSL).
May 10. Review; course evaluations.
May 14, 2 p.m. Final examination.
This document is available on the World Wide Web as
http://www.cs.grinnell.edu/~stone/courses/networks/schedule-of-topics.xhtml
created January 8, 2002
last revised March 5, 2002