Exams 
  Dates:
  
    - Midterm: Monday, November 6, 5:00-6:00 pm
- Final: Thursday, December 14, 8:30-10:20 am
  Contact Jonathan Sanders if you need to make other arrangements
  (
jsanders@cs.washington.edu).
 
  After the Final:
  
    -  average was 74.3, median was 78
-  final key
-  regrade policy with testing programs for
      problems 8 and 9.
-  regrade requests due by Wednesday, January 17th.
 
  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).
      Students are expected to make a reasonable effort to sit in their
      assigned seat.  Students who demonstrate an egregious disregard for the
      seating assignments will receive a 5-point penalty (e.g., if a student
      goes to the wrong room or refuses to move when asked to).
    
- 
      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.  Space
      will be provided for your answers.  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 importstatements 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 sure that your answer is clearly indicated.  This is
      particularly important if you provide more than one answer or if you have
      notes in addition to your answer.  You can draw a box around the answer
      you want to have graded and you can draw an "X" through anything that you
      do not want to have graded.
    
- 
      You do not need to turn in scratch paper unless you have all or part of
      an answer on that sheet of paper (you can take the other sheets of paper
      with you).  If you have a sheet of paper with all or part of an answer,
      please write your name on that sheet of paper, staple it to your test (a
      stapler will be available), and clearly indicate under the corresponding
      problem that your answer is attached on an extra sheet of paper.
    
- 
      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 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 | 
  
 
  After the Midterm:
  
    -  average was 81.4, median was 84
-  midterm key
-  regrade policy with testing programs for
      problems 2, 4, 5, and 6.
-  regrade requests due by Monday, November 27th.
 
  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 | Array Programming | 10 | 
    
      | 6 | Stacks/Queues | 25 | 
    
      | Total |   | 100 |