Assignments
This page lists the programming assignments for the course.
Some advice about the programming assignments:
- Do not wait until the last minute to start: if we give you two weeks to complete an assignment, it’s because we expect that it will take you two weeks (working steadily)
- Ask questions on Courselore and in office hours
- Use good programming practices
- Test your code thoroughly (plan to spend about as much time testing the code as writing it)
Individual assignments must be completed individually.
For Pair assignments, you may work with one partner, or do the assignment individually. Please note that if you chose to work with a partner:
- You and your partner must work together to a reasonable degree
- You are both responsible for ensuring that the work is completed
If you feel that your partner is not making an adequate contribution on an assignment, you may finish and turn in the assignment assignment individually. You may not use your partner’s lack of contribution as an excuse for not completing the assignment.
Also note that you are expected to make a significant contribution, and I reserve the right not to award credit for the assignment in cases where a student did not make a significant contribution.
Please read the style guidelines so that you know what our coding style expectations are.
Important: All assignments must compile and run on x86-64 Linux. Please see the Resources page for information on setting up an x86-64 Linux development environment. (There are a number of good options.)
Assignment | Type | Due |
---|---|---|
Assignment 1: Big Integers | Pair | MS1 due Wed, Sep 4th MS2 due Wed, Sep 11th |
Assignment 2: Image Processing | Pair | MS1 due Mon, Sep 23rd MS2 due Fri, Sep 27th MS3 due Friday, Oct 4th |
Assignment 3: Cache Simulator | Pair | MS1 due Wed, Oct 9th MS2 due Wed, Oct 23rd MS3 due Wed, Oct 30th |
Assignment 4: Parallel Quicksort | Pair | Fri, Nov 8th |
Assignment 5: Key/Value Store | Pair | MS1 due Wed, Nov 20th MS2 due Fri, Dec 6th |