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.
The overall score for the course will be computed as a weighted sum of the following components:
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 HW, MP, or exam within one week of the grade being posted. Requests must be submitted on Campuswire to the course staff (via private posts), clearly stating the justification.
You have a total of 7 grace days (rounded up to the nearest 24 hours) that may be applied to any HW or MP 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 hours) 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%.
After the deadline for each HW or MP, we will no longer answer questions about it during office hours or on Campuswire (for fairness reasons). Please plan accordingly!
In any case, no late work will be accepted after 72 hours past the deadline (unless explicitly permitted).
In other words, you will receive a 0% if you submit any HW or MP more than 72 hours late (regardless of grace days or penalties). Furthermore, during the 72-hour late window, you may not ask questions about the assignment in any forum.
GenAI policy for MP0 & MP1: Use of generative AI tools is prohibited for MP0 and MP1. To prevent unintentional violations, you must disable all generative AI features in your code editors (e.g., GitHub Copilot) before you start coding.
GenAI policy for MP2 & MP3: Use of generative AI tools is permitted to assist you in solving MP2 and MP3. If you choose to use them, you must still be able to justify your design choices and explain all your code, including any lines generated or suggested by AI. Solutions may not be generated entirely by AI. We will select students for an oral interview to assess their understanding of the submitted code. Failure to adequately explain your work may result in a 0% for the MP.
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.
For students enrolled for 4 credit hours, you will work in teams of 1–3 to complete a mini project related to computer networks. It is a hands-on, engineering-oriented project of your choice, allowing you to explore a networking topic in depth.
More details will be shared later in the semester. Tentatively, it consists of three deliverables:
Campuswire is the default and preferred communication channel for all matters related to this course.
Post publicly on Campuswire for all general questions regarding lectures, assignments/projects, exams, or course logistics, rather than emailing the course staff. This ensures that everyone in the class can benefit from the public discussion. You may post anonymously if you prefer (but note that the course staff will always be able to see the author).
Post privately to course staff on Campuswire only if your questions contain personal information (e.g., grades) or your own work (e.g., code snippets or solutions) that would not be appropriate for public discussion.
At our discretion, we may choose to make private posts public if they do not contain personal or sensitive information and if doing so would benefit the class. Please note that Campuswire does not allow us to anonymize your posts on your behalf — if you prefer to remain anonymous, make sure to select that option when posting to avoid any surprises.
Email instructors in rare, confidential cases, such as when requesting a DRES accommodation.
You are expected to monitor Campuswire regularly 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 monitor Campuswire regularly and aim to respond within one business day.
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).
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:
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.