Syllabus


CS 438: Computer Networks (formerly "Communication Networks") is an introductory course on computer networks at the University of Illinois Urbana-Champaign (UIUC). The course examines the fundamental principles, architectures, and protocols that enable networked systems to communicate reliably and efficiently.

As computer networks form the backbone of modern computing — supporting the Internet, cloud services, mobile applications, large-scale distributed systems, and AI systems — this course provides essential conceptual and practical foundations for understanding how today's networked systems are designed, implemented, and evaluated. Modern AI workloads rely heavily on computer networks for large-scale data collection, distributed training, and the deployment of intelligent services, making a solid understanding of networking fundamentals increasingly important.

CS 438 also serves as the prerequisite for CS 538: Advanced Computer Networks, a research-oriented seminar course, and is generally suitable for students considering systems, networking, or AI infrastructure as a potential career focus.

Grading Policy

The overall score for the course will be computed as a weighted sum of the following components:

Grade Overview
Problem Sets
12% (3% PS1, 3% PS2, 3% PS3, 3% PS4)
Programming Assignments
48% (3% MP0, 11% MP1, 17% MP2, 17% MP3)
Midterm Exam
15%
Final Exam
25%
Mini Project (4 credit hours only)
33%

Note that students enrolled for 4 credit hours (as opposed to 3) are required to complete a mini project in addition to the standard coursework. Their overall score, with a maximum of 133%, will be normalized to 100% for final grade computation.

Bonus points may be awarded throughout the semester and will be added on top of the (normalized) overall score at the end of the course. Additionally, a grading curve may be applied prior to converting the scores to letter grades.

Regrading policy: Students may request a regrade for any problem set, programming assignment, or exam within one week of the grade being posted. Requests must be made on Campuswire through posts private to the course staff, clearly specifying the justification for the regrade.

Late Policy

You have a total of 7 grace days (rounded up to the nearest 24-hour period) that may be applied to any problem set or programming assignment without penalty.

Example: 23h 50m is considered 1 day, but 24h 10m will be counted as 2 days.

At the end of the course, grace days will be applied automatically in a way that maximizes your score. You do not have to specify which assignments to apply them to when submitting your work.

When grace days are not applied (during the score maximization), late submissions will incur a penalty of 10% per day (rounded up to the nearest 24-hour period) of the assignment's total points.

Example: 25 hours late will incur a penalty of 20%, i.e., your final score for the assignment will be multiplied by 80%.

⚠️ Late work will not be accepted after 72 hours past the original deadline.

Problem Sets

GenAI policy: GenAI tools such as ChatGPT are strictly forbidden for solving problem sets. We may select students to orally explain their solutions. Failing the interview (beyond a reasonable level) may result in a 0% for the problem set.

Programming Assignments

GenAI policy: For MP0 & MP1, GenAI tools are strictly forbidden. Make sure you disable relevant AI features in your code editors first (e.g., GitHub Copilot). For MP2 & MP3, GenAI tools are permitted, but you must be able to explain and justify your solution, including any AI-generated code. We may select students to orally explain their solutions. Failing the interview (beyond a reasonable level) may result in a 0% for the MP.

Exams

Midterm and final exams will be announced on the course schedule.

Exams will be closed-book and closed-notes. You are only allowed to bring pens and empty sheets of paper.

Make-up exams: We offer accommodations for legitimate conflicts with the exams, but you must submit a formal request via email to both instructors — including supporting documentation — at least a week before the exam. Emergencies will be handled on a case-by-case basis. If your request is approved, you will be allowed to take a make-up exam, typically scheduled within a week of the original date.

Mini Project

The mini project is required only for students enrolled for 4 credit hours. It could be either a research-oriented exploration of a networking topic of your choice, or an engineering project involving the design and implementation of a networked system.

By Week 5 (the exact date will be announced on the course schedule), you must submit a few paragraphs on Campuswire outlining your proposed idea. This brief "proposal" will not be graded but must be approved by the course staff before you proceed with the project. You are strongly encouraged to attend office hours to discuss and refine your project plans.

The mini project consists of two deliverables:

Course Communication

Please post all general questions regarding lectures, problem sets, programming assignments, exams, or course logistics on Campuswire rather than emailing the course staff, so that all students can benefit from the discussion. You may choose to post anonymously to your classmates; however, the instructors will always be able to see the author of a post.

Exceptions: Do not post complete or partial solutions to any assignments on Campuswire. If in doubt, contact the course staff first. For personal or sensitive matters, please email both instructors.

You are expected to regularly monitor Campuswire for course announcements, as well as responses to your classmates' questions since repeated Q&A will be a waste of shared resources. The course staff will also regularly monitor Campuswire and aim to respond within 24 hours (excluding weekends).

That said, the class benefits greatly when students help answer each other's questions. A 1% bonus point will be awarded to selected students at the end of the course based on overall contributions on Campuswire (considering statistics and quality).

Textbooks

There is no required textbook. The primary reference for this course is:

Other recommended textbooks include:

For the Unix network programming portion of the course, we recommend:

Academic Honesty

Sexual Misconduct Policy and Reporting

The University of Illinois is committed to combating sexual misconduct. Faculty and staff members are obligated to report any instances of sexual misconduct — which also includes harassment, sexual assault, sexual exploitation, dating violence, domestic violence, and stalking — to the University's Title IX Office. What this means is that as your professor, I am required to report any incidents of sexual misconduct that are directly reported to me, or of which I am somehow made aware. When a report is received, an individual with the Title IX Office reaches out to provide information about rights and options, including accommodations, support services, the campus disciplinary process, and law enforcement options.

There is an exception to this reporting requirement about which you should be aware. A list of the designated University employees who, as counselors, confidential advisors, and medical professionals, do not have this reporting responsibility and can maintain confidentiality, can be found here: wecare.illinois.edu/resources/students/#confidential.

Other information about resources and reporting is available here: wecare.illinois.edu.