Preparing for Exams


My Goals for Exams

The exams test your skills in designing data definitions, functions, and test cases for the kinds of programming problems we have done in class up to the time of the exam. Mainly, I want to make sure that each student is able to carry out the design and programming tasks that we have covered, without the help of the TAs or others. The exams are not designed to trick you.

What I Care About on the Exam

What I DO NOT Care About on the Exam


What to (not) Bring


What to Expect

Expect problems similar in style to the homeworks and labs (though obviously not as many since the exam lasts only 50 minutes). While some questions will have multiple parts, individual questions will be independent so you can do them in any order. The exam will show how many points each question is worth.

Exam 1 will cover up through and including the class material for Friday, January 27 (basic list functions).

Exam 2 will cover lists of structures, trees, and hierarchies (the material through Monday, February 13).

Exam 3 will cover programs with memory (set! and set-structure!), testing programs with memory, creating circular data, programs with accumulators, and filter and map.


FAQ (Frequently Asked Questions)

  1. What's the best way to prepare?
    Practice, practice, practice! If you can read DrRacket programs but not write them, you're going to have trouble with the exam. Do as many problems as you need to to get comfortable with programming in DrRacket. The homeworks will be good practice for the exam.

    And practice templates. If you can't get at least as far as the template on any problem, you need to be coming in for help if you want to pass the exam.

  2. Are computers allowed during the exam?
    No. Pen(cil) and paper only.

  3. Do we need to write contracts on the exam?
    Each problem should state clearly whether you need to write contracts (I tend to write them down for you to avoid confusion during the exam, unless the point of the problem is to see whether you can write contracts).

Any other questions or concerns, post to the discussion board.

Good luck!