CS 356: Computer Networks

Fall 2025



Assignment Logistics

Assignments will be performed in groups of two. Special permission is required to form a group of one. The goal for the assignments is to introduce you to tools and concepts commonly used in computer networks. We have tried to make the installation and setup of the environment as minimal and flexible as possible. There are five assignments, all of which require some programming. The assignments expect familiarity with Python programming and the Linux/Unix command line interface.

You should pick your own group members for your projects, but you may use the Ed discussion to find group members. You can just switch group members between projects, but please check with the instructor and TA first (send us a private message via Ed). Completinga project individually requires the instructor’s prior approval.

Prior experience has shown that students who begin projects shortly after they are assigned are more likely to succeed. You have up to 5 free late days which can be allocated across the assignments per your discretion (any delay beyond midnight of the due date counts as a late day). After this, we will deduct 20% points for every additional late day.

Use of LLMs: You are allowed, and encouraged, to use large language models (LLMs) such as UT Spark or ChatGPT to help with your assignments as a substitute for searching the internet to fix issues. They have become a powerful tool that we should all learn to use effectively. However, it is not acceptable to simply copy paste its outputs for your assignments. LLMs are the modern equivalent of the calculator. They are useful, but we still need to understand how to do the work ourselves. Relying on automation too soon risks leaving our understanding incomplete. This course expects you to understand everything you submit in depth. We may quiz you at our discretion at any time. Further, fully understanding the assignments will help answer some quiz questions. When in doubt about what constitutes cheating, please reach out to us through Ed Discussion with either a post or as a private message.

All code and results you submit must be the original work of your group. Cheating and plagiarism will not be tolerated and will be dealt with in accordance with the University of Texas policies and procedures.

The assignments

All assignments are due at midnight of the specified date

Due Date Assignment
1 Fri, Sep 12 Introduction to network programming
2 TBD Routing
3 TBD Transport layer reliability
4 TBD Congestion collapse and control
5 TBD Secure network communication