Midterm 1

About the Exam

Suggestions about How to Study

  1. Do the practice exams. If you would like to see more practice exams, you can find more in the HKN exam archive here . The actual exam will be similar to the practice exams.
  2. If you still don't quite see how recursion works, get help at office hours!
  3. Study the homeowrk solutions and the discussion handouts

Suggestions about Programming on Exam:


These are not requirement but rather guidelines about maximizing your score on the exam. The main point is this: if your code is hard to understand, then it is easy to mis-grade.
  1. Write as neatly as possible. You have no time constraint.
  2. Use meaning variable/function names. DO NOT use x,y,z,x1,... as variable names
  3. All procedures we ask you to write are fairly short. If you find yourself writing 4 helper functions each of which is 5 to 6 lines, you are probably on the wrong track
  4. If you can't think of an appropriate short descriptive name for your procedure, put a short concise comment saying what it's suppose to do.

Practice Midterms:


Your midterm 1 will cover the material from the practice midterm 1's as well as the Tree/Deep-list questions from the practice midterm 2's. Skip all questions about normal vs. applicative order.
  1. Sample Midterm 1.1 / Solution
  2. Sample Midterm 1.2 / Solution
  3. Sample Midterm 1.3 / Solution
  4. Sample Midterm 2.1 / Solution
  5. Sample Midterm 2.2 / Solution
  6. Sample Midterm 2.3 / Solution