EN.601.229: Computer System Fundamentals

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 Slack 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:

  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 we 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.)

AssignmentTypeDue
Assignment 1: Big IntegersPairA1 MS1 due Wed, 5 June
A1 MS2 due Mon, 10 June
Assignment 2: Pixel GraphicsPairA2 MS1 due Wed, 12 June
A2 MS2 due Mon, 17 June
A2 MS3 due Mon, 24 June
Assignment 3: Cache SimulatorPairA3 MS1 due Wed, 26 June
A3 MS2 due Wed, 3 July
A3 MS3 due Fri, 5 July
Assignment 4: Parallel Merge SortPairA4 due Fri, 10 June
Assignment 5: Key/Value StorePairA5 MS1 due Fri, 19 Jul
A5 MS2 due Wed, 24 July

Because all work must be received by 26 July, a maximum of 48 late hours can be used for A5 MS2.