Assignments

Assignments

This page lists the programming assignments for the course.

Some advice about the programming assignments:

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:

  1. You and your partner must work together to a reasonable degree
  2. 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 Sat, Dec 7th