Past written exams:
Note in 2011, there was a 2-hour midterm and a 2-hour final.
The exams were entirely written with no computer-based programming part.
For some of the programming questions, there may be many possible correct solutions.
Past programming exams:
No solutions will be posted for the programming exams. Most of these are more difficult than what we will use this semester, but they are excellent practice.
Princeton has a large collection of past programming exams available here.
A good way to prepare for the programming portion of the exam would be to complete some of these programming exams in a timed-environment.
Note their exams are 50-minutes while ours are 100-minutes and they cover somewhat different material than we do.