CS 2135: Programming Language Concepts
Preparing for the Midterm

My Goals for the Midterm

The midterm tests your skills at functional programming in Scheme. It will cover material up through programming with trees and mutual recursion (lecture for Feb 2 and homework 3). I want to see how well you are developing instincts for programming in Scheme.

Note:I tend to give long exams that produce grades all along the spectrum. If you are doing very well with the material, you should be able to finish the exam within the 50 minutes. Many students will not finish the exam, and I'm aware of that when we determine the passing cutoffs. I don't define those cutoffs in advance (in case the exam goes unusually badly for the class as a whole); in past terms, however, the midterm passing cutoff has been in the high 40's to around 50. I don't tell you this to make you nervous now, but to keep you from panicking during the exam.

What I Care About on the Exam

What I DO NOT Care About on the Exam

What to Expect

The exams from previous terms (when I have taught 2135) should give you a very good idea of what to expect. They are posted on the lectures page in the row for the midterm date. When you work through the previous exams:


  1. Is the exam open or closed book/notes?
    Closed. The final will be open book. A closed book midterm helps we gauge whether you are learning to think functionally, rather than depending on your notes to pattern-match solutions.

  2. What's the best way to prepare?
    Practice, practice, practice! If you can read Scheme 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 Scheme.

    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 midterm.

  3. Will you post solutions to the sample exams?
    No. Over the years I've found that posted solutions hurt studying, because many students look at the solutions too quickly and then get fooled into thinking they could reproduce the answers. Feel free to come see any of us during office hours, or make an appointment to see me at some other time, if you want to go over your answers to the practice exams. We're glad to go over them.

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

  5. Do we need to write contracts on the exam?
    Each problems should state clearly whether you need to write contracts (I tend to write them down for you, when possible, to avoid confusion during the exam).

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

Good luck!