CS 356: Computer Networks

Fall 2024



Assignment Logistics

Assignments will be performed in groups of one or two. You may use the group finding feature of Canvas to find a partner. 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). Completing a 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 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. Importantly, you are responsible for understanding everything you submit. We may quiz you at our discretion at any time. 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 6 Introduction to network programming
2 Fri, Oct 4 Routing (starter code)
3 Fri, Oct 25 Transport layer reliability (starter code)
4 Fri, Nov 8 Congestion collapse and control (starter code)
5 Fri, Dec 13 Secure network communication (starter code)