601.229 (S24): 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 Mon, Jan 29th
MS2 due Mon, Feb 5th
Assignment 2: Pixel Graphics Pair MS1 due Wed, Feb 14th
MS2 due Wed, Feb 21st
MS3 due Wed, Feb 28th
Assignment 3: Cache Simulator Pair MS1 due Mon, Mar 4th
MS2 due Fri, March 15th
MS3 due Fri, Mar 29th
Assignment 4: Parallel Merge Sort Pair Monday, April 8th
Assignment 5: Key/Value Store Pair MS1 due Sat, Apr 20th
MS2 due Fri, April 26th