Princeton University
Computer Science Department

Computer Science 217
Introduction to Programming Systems

Andrew Appel

Fall 2017

General Information | Schedule | Assignments | Announcements | Policies

There are eight programming assignments, numbered 0 through 7.

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 7 until you have completed Assignment 0.

The due dates and times are shown in the course Schedule page.

The penalties for late submission are shown in the course Policies page.

Assignments 0, 1, 2, 3, 4, and 7 are individual assignments.

Assignments 5 and 6 are teams-of-two assignments. On those assignments you may work with another student. That student must be from your precept.

  1. Introductory Survey (individual assignment)

  2. A "De-Comment" Program (individual assignment)

  3. A String Module and Client (individual assignment)

  4. A Symbol Table Module (individual assignment)

  5. Assembly Language Programming and Testing (individual assignment)

  6. A Buffer Overrun Attack (teams-of-two assignment)

  7. A Heap Manager Module (teams-of-two assignment)

  8. An Othello Referee and a Tournament Manager (individual assignment)