Instructor
Nikko Bovornkeeratiroj (he/him)
pbovornkeera@umass.edu
Office hours: On Canvas
Fall 2026 · Tuesdays & Thursdays · 11:30 AM–12:45 PM · Computer Science Building W150
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.
Nikko Bovornkeeratiroj (he/him)
pbovornkeera@umass.edu
Office hours: On Canvas
Tuesdays & Thursdays
11:30 AM–12:45 PM
Computer Science Building W150
Elvis Yeboah-Duako (he/him)
Teaching Assistant
eyeboahduako@umass.edu
Arya Krishnan (she/her)
Teaching Assistant
aryakrishnan@umass.edu
Sribatscha Maharana (he/him)
Teaching Assistant
sribatschama@umass.edu
Meiling Chen (she/her)
Undergraduate Course Assistant
meilingchen@umass.edu
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 and additional 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
We are here to help! Please don’t hesitate to reach out. Here are our protocol guidelines for which channels to use and what to expect.
Use Piazza for questions that may help the class. Use email for urgent matters. Please do not hesitate to follow up if I have not replied within the expected time of one business day. Please include enough context for us to reconstruct the packet.
Network Layer
This schedule is tentative and may change as the semester unfolds. It is intended to give you the big picture of what we plan to cover and when.
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 Course wrap-up.
Link Layer
Each component contributes a field to the final frame. No single packet determines the whole transmission.
Assignment deadlines: Every assignment has a due date and is due at 11:59 PM EDT on that date.
Five or six weekly, open-book assignments completed through Canvas.
Near-weekly packet-analysis labs completed on your own laptop and submitted through Canvas.
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.
This comprehensive exam covers the entire course. You may keep your provisional grade or take the final; it can only improve your course grade.
*How the optional final works: The optional final is comprehensive and covers the entire course. 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
Every deadline comes with an automatic, no-penalty, one-day extension. After that, the credit you receive decreases by 10% for each additional day late. If you need more time for an assignment, please reach out to the instructor. We are very willing to accommodate exceptional circumstances, but we do need you to communicate with us.
Copying programs, written homework, or exam answers is not permitted. Working as a team on an individual written or programming assignment is also not permitted. You are welcome to discuss concepts and assignment questions with other students, but the work you submit must be substantially your own.
A student found violating this policy will receive, as an informal resolution, a grade of 0 on the assignment. A subsequent violation will result in a failing grade for the course. If you are struggling with an assignment or a deadline, please contact the instructor or a TA. We will bend over backwards to help, but we will not tolerate cheating. Please read the UMass Academic Honesty Policy.
We are okay with you using AI tools to help clarify concepts, explore examples, and debug code you have written. However, please do not use AI to generate assignment solutions or write the code for you. The purpose of these assignments is to help you understand the course content and develop your own problem-solving and programming skills. Outsourcing that work may save time today, but it can quietly create gaps that make later assignments, exams, interviews, and future courses much harder. If you feel that you need to use AI because you are running out of time, please reach out to us instead. We really want you to learn, and we will do our best to help you find a workable path forward. When in doubt, ask us whether a particular use is appropriate.
Please contact Disability Services and the instructor early so that accommodations can be arranged smoothly.
Your well-being matters more than any single assignment. Sometimes life takes an unexpected turn, and none of us needs extra stress piled on top of that. If something is affecting your ability to participate or meet a deadline, please do not hesitate to reach out. You do not need to share more than you are comfortable sharing, but please communicate with us so we can help identify a reasonable path forward. We care about both your learning and your well-being, and we want you to be successful in this course.
The schedule may evolve. Important changes will be announced in class and posted on Canvas.