Fall 2026 · Tuesdays & Thursdays · 11:30 AM–12:45 PM

Welcome toCS453Computer Networks!

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 ↓
Application Data
Ethernet Header
IP Header
TCP Header
SYLLABUS Course information payload
Ethernet Footer

Your application data is ready.

Application Layer

Course overview

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.

Instructor

Prof. Nikko Bov
Email: TBA
Office hours: TBA

Class meetings

Tuesdays & Thursdays
11:30 AM–12:45 PM
Morrill Science Center I, Room N326

Teaching Assistants

TBA

Undergraduate Course Assistants

TBA

Prerequisites

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.

Materials

Textbook

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.

Recorded lectures

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.

PowerPoint slides

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

Communication and course flow

The transport layer is where we negotiate reliability. In this course, reliable communication also matters between humans.

ChannelPiazza
Expected ACKWithin 1 business day
Urgent flagEmail with “CS453” in subject
RetransmissionFollow up after 24 hours

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

Route through the semester

Week 1Sep 8 & 10 · Course foundations

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.

Week 2Sep 15 & 17 · Layering and HTTP

Lecture 3 Performance continued; layering; encapsulation; networks under attack; history.

Lecture 4 Principles of networked applications; the Web and HTTP.

Week 3Sep 22 & 24 · HTTP, DNS, and CDNs

Lecture 5 HTTP continued; e-mail; DNS.

Lecture 6 DNS, video streaming, and content distribution networks.

Week 4Sep 29 & Oct 1 · Sockets and UDP

Lecture 7 Socket programming.

Lecture 8 Introduction to the transport layer; multiplexing and demultiplexing; UDP.

Week 5Oct 6 & 8 · Reliable transport and TCP

Lecture 9 Principles of reliable data transfer.

Lecture 10 Pipelined protocols; TCP connection management and reliable data transfer.

Week 6Oct 13 & 15 · Congestion and network layer

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.

Week 7Oct 20 & 22 · Routers and Exam I

Lecture 13 What is inside a router?

In-class Exam I

Week 8Oct 27 & 29 · IP, SDN, and middleboxes

Lecture 14 The Internet Protocol: IPv4 and IPv6.

Lecture 15 Generalized forwarding and SDN; middleboxes.

Week 9Nov 3 & 5 · Election Day and routing algorithms

Election Day · No class

Lecture 16 Link-state and distance-vector routing algorithms.

Week 10Nov 10 & 12 · Routing protocols and link layer

Lecture 17 Routing protocols: OSPF and BGP.

Lecture 18 Introduction to the link layer; error detection and correction; multiple-access protocols.

Veterans Day holiday

Week 11Nov 17 & 19 · TBA and switched LANs

Topic TBA

Lecture 19 Cable networks (DOCSIS); switched LANs.

Week 12Nov 24 · Wednesday schedule and Thanksgiving break

Wednesday schedule · No CS453 class

Thanksgiving break

Week 13Dec 1 & 3 · Data centers and wireless

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.

Week 14Dec 8 & 10 · 4G/5G and Exam II

Lecture 22 4G/5G networks.

In-class Exam II

Week 15Dec 15 · Mobility and course wrap-up

Lecture 23 Mobility-management principles; mobility in 4G/5G; networking futures; final class and course wrap-up.

Link Layer

Grading frame

Each component contributes a field to the final frame. No single packet determines the whole transmission.

20%

Written homework

Five or six weekly, open-book assignments completed through Moodle.

15%

Wireshark labs

Near-weekly packet-analysis labs completed on your own laptop and submitted through Moodle.

15%

Programming assignments

Two assignments in a high-level language such as Python, Java, or C, submitted through Gradescope.

15%

Midterm Exam I

Covers approximately the first half of the course. See the schedule for the exam date.

15%

Midterm Exam II

Covers only the second half of the course and is held near the end of the semester.

20%

Optional final exam

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

Policies carried in the signal

Late work

Each student receives three 24-hour late tokens. After tokens are used, contact the instructor before the deadline whenever possible.

Collaboration

Discussion is encouraged, but submitted work must clearly reflect your own understanding. Cite collaborators and external resources.

Accessibility

Please contact Disability Services and the instructor early so that accommodations can be implemented smoothly.

Well-being

Life occasionally drops packets. Reach out early if circumstances affect your work so we can identify a reasonable path forward.

Changes to the syllabus

The schedule may evolve. Important changes will be announced in class and posted on Canvas.

Destination reached

200 OK: Syllabus received

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 ↑