CPSC 441: Computer Communications (Mahanti: L02, Winter 2006)

The purpose of this course is to introduce fundamental principles and concepts of computer networks. We will use a top-down to study the Internet Protocol stack. We will first study popular network applications such as Web, email, FTP, and P2P, then study communications services required to support these applications, and finally study how these communication services are implemented. Throughout this course, we will use the Internet's architecture and protocols to reinforce fundamental computer networking principles.

This page provides information on the following:

Announcements (see this before the exam)

07/05/06: Unofficial final grades for the course can be found here. Sorry for the delay; I hope you all will have a very nice summer. This version is the most up-to-date and records few corrections with respect to the version released yesterday night.
12/04/06: Lecture notes from the Review Session (PPT, PDF).
12/04/06: CPSC 441 Reading List (partial) from the Kurose/Ross course textbook.
10/04/06: A sample of a previous CPSC 441 final examination (Fall 2004) is now available.
03/04/06:: New article on CNN.com - Hollywood to Sell Movies Online..

Administrative Information

Here you will find administrative information for the CPSC 441 offering during the Winter 2006 session. There are five tutorial sections for this course. The Teaching Assistants (TAs) will discuss material referred to as "self study" in the lectures, introduce socket programming using C/C++, and provide help with assignments. The tutorials are organized for your benefit and you are strongly encouraged to attend them. Details pertaining to your tutorial sections are given below: Please select the tutorial that best fits your schedule.

Textbook and References

The recommended textbook for this course is: A supplementary textbook (recommended, but not required) is: The lectures will be drawn from both textbooks, as well as from recent networking research literature.


  1. Introduction (1.5 weeks)
    Overview of the Internet, client/server paradigm, circuit switching, packet switching, physical media, queuing delay and packet loss, TCP/IP and OSI reference models, Internet Protocol Stack
    Lecture Slides: Introduction (PPT , PDF)
    Readings: Chapter 1 (Kurose and Ross); Sections 1.1 - 1.9, 2.2 (Tanenbaum)
  2. Application Layer (2 weeks)
    Service requirements, WWW, HTTP, Electronic Mail, Domain Name System, Socket programming
    Lecture Slides: HTTP and WWW (PPT , PDF), FTP and SMTP (PPT, PDF), DNS (PPT, PDF)
    Additional material: P2P tutorial (pdf courtesy Don Towsley, U.Mass.)
    Readings: Chapter 2 (Kurose and Ross); Sections 7.1 - 7.3 (Tanenbaum)
  3. Transport Layer (2 weeks)
    Service models, Multiplexing/Demultiplexing, Connection-less transport (UDP), Principles of reliable data transfer, Connection-oriented transport (TCP), TCP congestion control, TCP Variants
    Lecture Slides: Introduction/UDP (PPT, PDF), Checksum IP/UDP (PPT, PDF), Reliable Data Transfer (PPT, PDF), Transmission Control Protocol (PPT, PDF)
    Readings: Chapter 3 (Kurose and Ross); Chapter 6 (Tanenbaum)
  4. Network Layer Addressing (1 week)
    NIC addressing, IP addressing, IPv4, IPv6, ICMP
    Lecture Slides: Network Layer Addressing (PPT, PDF), Link Layer Addressing (PPT, PDF)
    Readings: Section 4.4, 5.4 (Kurose and Ross); Section 5.6 (Tanenbaum)
  5. Network Layer Routing (1.5 weeks)
    Routing and forwarding, Routing algorithms, Routing in the Internet, Multicast
    Lecture Slides: Forwarding (PPT, PDF), Routing (PPT, PDF)
    Readings: Chapter 4 (Kurose and Ross); Chapter 5 (Tanenbaum)
  6. Link Layer and Local Area Networks (1.5 weeks)
    Link layer services, Error detection and correction, Multiple Access Protocols, Link layer addressing, Ethernet, Hubs and switches, Point-to-Point Protocol
    Lecture Slides: (PPT, PDF)
    Readings: Chapter 5 (Kurose and Ross); Sections 3.1, 4.1 - 4.3 (Tanenbaum)
  7. Wireless and Mobile Networks (1.5 weeks)
    Wireless links and network characteristics, Wi-Fi: IEEE 802.11 Wireless LANs, Cellular Internet Access, Mobility management and Mobile IP
    Lecture Slides: (PPT, PDF)
    Readings: Chapter 6 (Kurose and Ross); Sections 4.4 - 4.5 (Tanenbaum)
  8. Multimedia Networking (1 week)
    Networked multimedia applications, best-effort service and multimedia delivery requirements, Multimedia protocols (RTSP, RTP, RTCP, SIP), Content Distribution Networks
    Lecture Slides: (PPT, PDF)
    Readings: Sections 7.1 - 7.5 (Kurose and Ross); Section 7.4 (Tanenbaum)
  9. Security (1 week)
    Principles of cryptography, symmetric key algorithms, public key algorithms
    Readings: Sections 8.1 - 8.5 (Kurose and Ross); Sections 8.1 - 8.3 (Tanenbaum)


  1. Assignments (35%)
    There will be five assignments in this course. The assignments will consist of a mix of paper & pencil questions, and programming projects. You may expect two out of these five assignments to involve significant amount of programming.
  2. Midterm Examination (25%)
    A 50-minute "closed-book" (no books, no notes) in-class midterm examination will be held. 12:00 - 12:50 hours on Friday March 3, 2006.
  3. Final Examination (40%)
    This course will have a 120-minute closed-book final examination, scheduled by the Registrar's office.