Schedule of topics

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

John David Stone (stone@cs.grinnell.edu)