Computer networks, in the form of the Internet, have revolutionized society in the last 3 decades. This course provides an introduction to the design and operation of the Internet and computer networks in general. Topics include layered communication protocols, routing, transport, naming, security and mobility. Knowledge is consolidated through projects involving the creation of network applications.

Topics covered (tentatively) include:

  • Network organization
    • Protocol stacks
    • Paradigms
      • Circuit switching
      • Packet switching
    • Internet design
  • Application, presentation and session layers
    • Services
      • Session establishment
      • Compression
      • Encryption
    • Protocols
      • Domain Name System (DNS)
      • Hyper Text Transfer Protocol (HTTP)
      • Border Gateway Protocol (BGP)
    • Architectures
      • Client-Server
      • Peer-to-peer
  • Transport layer
    • Services
      • Connection-oriented communication
      • Flow control
      • Congestion control
      • Reliability
      • Multiplexing
    • Protocols
      • Unicast Datagram Protocol (UDP)
      • Transmission Control Protocol (TCP)
  • Network layer
    • Services
      • Connectionless communication
      • Addressing
      • Routing
    • Protocols
      • Internet Protocol (IP)
      • Open Shortest Path First (OSPF)
      • Routing Information Protocol (RIP)
  • Datalink layer
    • Services
      • Logic link control
      • Medium access control
      • Loss and corruption
    • Protocols
      • Address Resolution Protocol (ARP)
      • IEEE 802.11 WiFi Medium Access Control (MAC)
  • Physical layer
    • Technologies
      • Ethernet
      • IEEE 802.11 wireless physical layer
  • Cross-cutting topics
    • Security
    • Mobility
    • Middleboxes
    • Content-Delivery Networks (CDNs)
    • Software-Defined Networking (SDN)
  • CMPU-203
  • CMPU-224

Rui Meireles


Email: (expected response time: 24 business-day hours, i.e. no response guarantee on weekends)

Office: Sanders Physics 304

Office hours: Tuesdays and Thursdays, 12-2PM. Other times by appointment.

Optional, complementary texts:
  • TCP/IP Illustrated, Volume 1: The Protocols, Second Edition by W. Richard Stevens.
  • Unix Network Programming: Networking APIs: Sockets and XTI, Volume 1 by W. Richard Stevens.
  • Advanced Programming in the Unix Environment, Third Edition by W. Richard Stevens.
  • Homework: 45%
  • Midterm: 25%
  • Final exam: 30%

Class attendance is not mandatory but strongly encouraged. Students are responsible for ALL information given in class, whether or not it is presented in any other form.

If a student misses a class he/she should consult with classmates to find out about any information—academic, administrative, or other—that he/she may have missed.

Use of electronic devices for note taking during lectures is permitted. However, devices must be in silent mode at all times so as to not disturb the class. The use of electronic devices for non-class related purposes is prohibited.

Assignments may require the use of a computer. Students may elect to use the computers provided by the department (rooms SP307 and SP309) or their own if they so prefer.

Homework shall be used to consolidate and expand upon concepts introduced in class. They will consist of pen and paper exercises, as well as programming assignments using the C programming language.

Unless otherwise noted, all assignments should be completed by each student by themselves.

Copying solutions is strictly forbidden.

General discussions of approaches and techniques are allowed.

  • The Quantitative Reasoning Center ( helps students improve their analytical skills pertaining to quantitative subjects.
  • The Writing Center ( helps students improve the clarity and cogency of their writing.

Academic accommodations are available for students registered with the Office for Accessibility and Educational Opportunity. Students in need of ADA/504 accommodations should schedule an appointment with the professor early in the semester to arrange for said accommodations.

Vassar College is committed to providing a safe and respectful learning environment for all students. An environment free of all forms of discrimination and harassment, including sexual assault, domestic violence, dating violence, and stalking. Vassar College has staff members trained to support students in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, helping with legal protective orders, and more:

  • Counseling Service (, 845-437-5700)
  • Health Service (, 845-437-5800)
  • Charlotte Strauss-Swanson, SAVP (Sexual Assault and Violence Prevention) director (, 845-437-7863)
  • SART (Sexual Assault Response Team) advocate, available 24/7 by calling the CRC at 845-437-7333
  • The SAVP website and the Title IX section of the EOAA website ( have more information, as well as links to both on- and off-campus resources.