Assignments

This page has links to the programming assignments, along with their due dates.

Please make note of our expectations for design, coding style, and efficiency.

All assignments are individual assignments unless specified otherwise.

Very important: The target platform for all assignments is x86-64 Linux, and we will be using Ubuntu 22.04 for all autograding and testing. It is essential that you have access to an x86-64 Linux development environment. The ugrad and grad machines maintained by the CS department are an excellent option if you don’t have a personal machine that can run x86-64 Linux. Send me an email if you need an account.

Note that you can install Ubuntu 22.04 from the Microsoft Store on a Windows computer, and this is also a good way to set up an x86-64 Linux development environment.

We are not aware of any good way to set up a local development environment on an Apple Silicon Mac. The ugrad and grad machines are probably your best option in this case.

Please see the instructors or CAs if you need help or advice on setting up a development environment.

Assignment Due
Assignment 1 Friday, Sep 13th by 11pm
Assignment 2 MS1 due Monday, Sep 23rd by 11 pm
MS2 due Saturday, Oct 5th by 11 pm
Assignment 3 Wednesday, Oct 23rd by 11pm
Assignment 4 MS1 due Friday, Nov 1st by 11 pm
MS2 due Friday, Nov 15th by 11 pm
Assignment 5 Saturday, Dec 7th by 11pm