• Midterm: Tuesday, February 16, 4:30-5:30
  • Final: Tuesday, March 15, 10:30-12:20
Contact Stuart if you need to make other arrangements (reges@cs.washington.edu).

Seat Assignments:

  • Kane 120 (all A sections and BG): list, map
  • Kane 130 (all B sections other than BG): list, map
Contact Jonathan Sanders if you have any questions about the seat assignments (jsanders@cs.washington.edu).

Exam Rules and Information:

  • You will have an assigned seat and you must sit in that seat. If you arrive for the exam and find someone else in your seat, ask them to move because we will move students to their assigned seats. We will take pictures of the room to help us verify that students sit in their assigned seats (please contact us if you have a concern about this).
  • We may ask to check your UW ID card during the exam so please have it ready.
  • You will have 60 minutes to complete the midterm and 110 minutes to complete the final. We will distribute the exam early and you can read and fill out the cover page of the exam, but you should not look at the exam questions until you are told to begin. At the end when time is called, you are required to stop writing and close your exam. Students who look at the exam before being told to begin and students who make changes to their exam after time is called will receive a 10-point penalty. Students who do not close their exam booklet when time is called may also receive a 10-point penalty.
  • The exams are closed-book and closed-note. You must work alone and may not use any computing devices of any kind including calculators or digital copies of the textbook. Cell phones, music players, and other electronic devices may NOT be out during the exam for any reason.
  • There will be a cheat sheet included as the last page of the exam. You may remove this from your exam if you wish once the exam begins, but be sure to hold the staple when you remove the exam because otherwise your exam is likely to come apart. Space will be provided for your answers and you may use the back of the cheat sheet as scratch paper. If you need additional scratch paper, raise your hand and a TA will give it to you. You are not allowed to use your own paper during the exam.
  • Unless a question specifically mentions otherwise, the code you write will be graded purely on external correctness (proper behavior and output) and not on internal correctness (style). So, for example, redundancy or lack of comments will not reduce your score. You are, however, required to declare all data fields as private, to use generics properly, and to declare variables and parameters using interfaces when possible. The midterm cheat sheet mentions important restrictions on Stacks and Queues that you must follow.
  • Unless otherwise specified, you should write each solution as a public instance method. You may define helper methods as part of your solution, but they should be declared to be private.
  • You are allowed to abbreviate "compiler error" and "runtime error" for the inheritance question on the midterm (as in "ce" and "re" or "c.e." and "r.e."), but you should otherwise NOT use any abbreviations on the exam.
  • You don't need to write any import statements in your exam code.
  • You are not allowed to use advanced material to solve exam problems. In general, you are restricted to the classes and methods listed on the exam cheat sheet.
  • You are not allowed to use break statements, a return from a void method, or the diamond operator (<>).
  • For standard Java classes such as Math and String, you are limited to the methods listed on the cheat sheet. You are not allowed to use the Arrays or Collections classes or other standard classes and methods that aren't included on the cheat sheet.
  • Please be quiet during the exam. If you have a question or need assistance, please raise your hand.
  • When you have finished the exam, please turn in your exam quietly and leave the room.

Final Resources:

Final Content:

The final will have the following structure (although the problems might be reordered to facilitate copying):
Question Points Description
1 Binary Tree Traversal 6
2 Binary Search Tree 4
3 Collections Mystery 5
4 Collections Programming 5
5 Binary Trees 10
6 Collections Programming 10
7 Comparable class 20
8 Binary Trees 20
9 Linked Lists 20

Midterm Resources:

Midterm Content

The midterm will have the following structure (although the problems might be reordered to facilitate copying):
Question Description Points
1 Recursive Tracing 15
2 Recursive Programming 15
3 Details of Inheritance 20
4 Linked Lists 15
5 Stacks/Queues 25
6 Array Programming 10
Total   100