Instructor
Prof. Nikko Bov
Email: TBA
Office hours: TBA
Fall 2026 · Tuesdays & Thursdays · 11:30 AM–12:45 PM
This is where it all begins! Your syllabus (as a packet) is waiting below. Scroll to build it, send it across a small network, and receive it at the destination.
Begin transmission ↓Your application data is ready.
Application Layer
This course provides an introduction to fundamental concepts in the design and implementation of computer networks, their protocols, and applications. Topics to be covered include: overview of network architectures, applications, network programming interfaces (e.g., sockets), transport, congestion, the network data plane (packet forwarding, addressing) and control plane (routing algorithms, software defined networks, network management), link-layer protocols, local area networks and data center networks, wireless networks, and a bit of network security. Examples will be drawn primarily from the Internet (e.g., TCP, UDP, and IP) protocol suite. There will be five or six written assignments, a couple of programming assignments, several short hands-on labs (that can be done on any Internet-connected PC). We'll have two exams and an optional final.
Prof. Nikko Bov
Email: TBA
Office hours: TBA
Tuesdays & Thursdays
11:30 AM–12:45 PM
Morrill Science Center I, Room N326
TBA
TBA
A rudimentary understanding of algorithms (e.g., CMPSCI 311) and operating systems (CMPSCI 377) is required, or you should be willing to pick up elements from those courses as needed. A previous course in computer organization (e.g., CMPSCI 201) is required. You must be able to program in a structured high-level programming language, such as Python.
Computer Networking: A Top-Down Approach, 9th Edition
J. F. Kurose & K. W. Ross
Pearson, 2025
You can get by OK with a copy of the 8th edition, although I strongly recommend the 9th edition because it includes substantial new and updated material.
This course will be taught in person and recorded. You can watch the recordings using Echo360.
Pre-recorded lectures by Prof. Jim Kurose are available on YouTube. Additional pre-recorded lecture materials are available on the textbook companion site.
The PowerPoint slides used for this class will be posted on Canvas. I will do my best to release the slides before each lecture.
Transport Layer
The transport layer is where we negotiate reliability. In this course, reliable communication also matters between humans.
Use Piazza for questions that may help the class. Use email for private matters. Please include enough context for us to reconstruct the packet.
Network Layer
Lecture 1 Course goals and overview. Course mechanics. What is the Internet? What is a protocol?
Lecture 2 The network edge, the network core, and performance: delay, loss, and throughput.
Lecture 3 Performance continued; layering; encapsulation; networks under attack; history.
Lecture 4 Principles of networked applications; the Web and HTTP.
Lecture 5 HTTP continued; e-mail; DNS.
Lecture 6 DNS, video streaming, and content distribution networks.
Lecture 7 Socket programming.
Lecture 8 Introduction to the transport layer; multiplexing and demultiplexing; UDP.
Lecture 9 Principles of reliable data transfer.
Lecture 10 Pipelined protocols; TCP connection management and reliable data transfer.
Lecture 11 Principles of congestion control; TCP congestion control.
Lecture 12 Congestion-control futures; introduction to the network layer: forwarding, routing, data plane, and control plane.
Lecture 13 What is inside a router?
In-class Exam I
Lecture 14 The Internet Protocol: IPv4 and IPv6.
Lecture 15 Generalized forwarding and SDN; middleboxes.
Election Day · No class
Lecture 16 Link-state and distance-vector routing algorithms.
Lecture 17 Routing protocols: OSPF and BGP.
Lecture 18 Introduction to the link layer; error detection and correction; multiple-access protocols.
Veterans Day holiday
Topic TBA
Lecture 19 Cable networks (DOCSIS); switched LANs.
Wednesday schedule · No CS453 class
Thanksgiving break
Lecture 20 Data-center networking; retrospective: a day in the life of a web-page request.
Lecture 21 The wireless channel; Wi-Fi and Bluetooth.
Lecture 22 4G/5G networks.
In-class Exam II
Lecture 23 Mobility-management principles; mobility in 4G/5G; networking futures; final class and course wrap-up.
Link Layer
Each component contributes a field to the final frame. No single packet determines the whole transmission.
Five or six weekly, open-book assignments completed through Moodle.
Near-weekly packet-analysis labs completed on your own laptop and submitted through Moodle.
Two assignments in a high-level language such as Python, Java, or C, submitted through Gradescope.
Covers approximately the first half of the course. See the schedule for the exam date.
Covers only the second half of the course and is held near the end of the semester.
You may keep your provisional grade or take the final. The final can only improve your course grade.
How the optional final works: After the other coursework is complete, you will receive a provisional grade based on the components above excluding the final. You may accept that grade or take the final exam, which is weighted at 20% relative to the other components. Your final course grade will be the higher of the two calculations.
Physical Layer
Each student receives three 24-hour late tokens. After tokens are used, contact the instructor before the deadline whenever possible.
Discussion is encouraged, but submitted work must clearly reflect your own understanding. Cite collaborators and external resources.
Please contact Disability Services and the instructor early so that accommodations can be implemented smoothly.
Life occasionally drops packets. Reach out early if circumstances affect your work so we can identify a reasonable path forward.
The schedule may evolve. Important changes will be announced in class and posted on Canvas.
Destination reached
You have reached the end of the transmission. Bookmark this page, and use the navigation above to jump directly to any section later.
Return to source ↑