The assignments center on various layers of the network stack. Through these programming assignments, students will gain deeper insights on how computer network systems actually work.

Submitting Assignments

We are using GitHub Classroom for storing and submitting your source code of the programming assignments. Each lab announcement will contain an invite link to the assignment.

Please make sure that each lab directory contains a Markdown file ( briefly describing the source code in the directory and anything “unusual” about how your solution should be located, executed, and considered. Essentially, your README gives us a quick overview of the content on the directory and how to run your programs. If your assignment is written in C, you also need to include a Makefile in your submission directory.

Since TAs will grade most of your programming assignments on Thayer Linux Computer Servers, you should compile and test your code on one of these machines to ensure that there are no discrepancies between what you see and what the TAs will see when running your code.

Policy for Late Assignments

Programming assignments must be submitted according to the schedule; if late, the following grade penalties are assessed:

  • Late < 24 hours: 10% will be deducted from the final score;
  • Late ≥ 24 hours and < 48 hours: 20% will be deducted from the final score;
  • Late 48 or more hours: speak to the lecturer.

Please talk to me if you are running behind. The most important thing for you is to finish the assignments and not worry about being late.