Info Schedule Assignments Policies Canvas Ed

Programming Assignments

There are seven programming assignments, numbered 0 through 6.

Assignment 0 will not be graded. However that assignment is required in the sense that your grader will not grade your submissions for Assignments 1 through 6 until you have completed Assignment 0.

Due date and time information shown is in "Princeton time" (United Stated Eastern time). The partial credit allowances for late submission are shown on the course Policies page.

Each assignment is classified as an "Individual" or "Partnered" assignment. On "Partnered" assignments you may work with another student, subject to the pertinent guidelines from the course Policies page.


  1. Introductory Survey (2/9 9:00PM)

    Individual | Specification | Repository
  2. A "De-Comment" Program (2/18 9:00PM)

    Individual | Specification | Repository
  3. A String Module and Client (3/4 9:00PM)

    Individual | Specification | Repository
  4. A Symbol Table Module (3/30 9:00PM)

    Individual | Specification | Repository
  5. Directory and File Trees (4/13 9:00PM)

    Partnered | Specification | Repository
  6. Assembly Language Programming and Testing (4/27 9:00PM)

    Partnered | Specification | Repository
  7. A Buffer Overrun Attack (5/5 5/10 5:00PM)

    Partnered | Specification | Repository