Final Exam:

  • Date: Wednesday, December 16, 2009
  • Time:
    • for the   9:30am "A" lecture: 10:30am - 12:20pm
    • for the 11:30am "B" lecture: 12:30pm -   2:20pm
  • Place: Kane 130 (please note that this is NOT our normal lecture room)
  • Curve: +5 points


raw curved
MEDIAN 72 77
AVG 68.5 73.4
STDEV 20.9 20.8
raw curved percent of class
As 109 158 26%
Bs 97 108 18%
Cs 133 116 19%
Ds 85 93 15%
Es 180 129 21%
Total 604 604 100%

Sample Exams: (answer keys included)

We strongly suggest that you try to solve all of these problems yourself, on paper, without a computer, and without looking at the answer key until you're done.

  • Sample final exams posted here are intended to be very similar to the actual final exam. The number of problems and type of problems on the actual exam will be much like what is seen on these practice exams. Material from Chapters 1-9 is considered "fair game" for questions on the actual final.
  • The following topics are guaranteed NOT to be explicitly tested on the final exam:
    • converting between decimal (base-10) and binary (base-2) numbers
    • classes DrawingPanel and Graphics
    • do/while loops and the break statement (regular while loops may be needed, though)
    • the Java assert statement
    • exceptions and try/catch statements
    • preconditions and postconditions
    • the Java assert statement
    • null
    • multidimensional arrays
    • the Object class; implementing an equals method; the instanceof keyword
    • classes with static fields / methods
    • the advanced Husky-only methods of Critters, such as getX, getNeighbor, win, lose, and mate
    • interfaces; abstract classes
    • material from Chapter 10 and above

Additional Sample Problems:

If you are a real practice problem junkie and want even MORE problems, here are links to a few other past exams. They don't exactly match the current exam format, and they are not in our Practice-It system, so they may be of limited use. Some of the problems on these tests don't match the topics, difficulty level, and/or type of questions we currently plan to ask. (For example, the Critters assignment has changed over the years.) These links are provided merely as a convenience.


The final exam follows the same regrade policy as the midterm exam (see below). A cover sheet and Practice-It output is required for a final exam regrade. You can slide your final under Marty's office door with the proper cover sheets attached. Regrades will be accepted through the end of the first week of Winter 2010 quarter.

Midterm Exam

Scores, Curve, and Other Information:

You can now check your midterm score on MyUW. If you don't see your midterm score on your MyUW page, follow our MyUW directions.

Curve: The score listed on MyUW is your raw (un-curved) score. The average was 69.4 and the median was 70. There will be a +9 point curve added to everyone's score. However, the maximum possible midterm score is 100. So, for example, if you got 93 on the exam, your maxes out at 100, not 102.

Here are some stats about the midterm, for both raw and curved scores:

rawcurvedpercent of class

You will get your midterm back this week in section. An answer key will also be posted next week. A few students still have not taken the midterm due to illness or other emergencies, so please do not discuss the exam problems or their solutions with others yet.

Questions: After the midterm, usually a lot of students want to email us questions about exactly what points they missed, or why they got the score they got. Please do not email us such questions; we don't have your exams, they're at the CSE building. You'll get your test back on Thursday in section and can determine this information for yourself at that time.

Another topic students frequently ask about is: If their score was lower than they hoped, they want to ask about how much effect that will have on their grade, or what their options are, etc. This is a natural question to want to ask, but most of the information to answer it can be found on this web site. The course syllabus lists the relative grading weight of homework vs. midterm vs. final exam, so you can use that to compute the rough effect on your grade of a particular midterm score. You may want to use our new Grade-a-nator page to help you compute your approximate grade. Also look at our FAQ page for info about S/NS grading options, drop dates, and other information.

Regrades: We work hard to grade consistently and correctly, but sometimes we make mistakes in grading. See the instructios below to request a regrade on your exam if you think anything was not graded accurately. We will also post a solution key soon and post the midterm problems on our Practice-It tool so that you can test your answers.

Regrade Policy:

If your exam score was added up incorrectly, take it to your TA and they'll fix it for you.

If you disagree with the grading, such as if you think your solution actually does work, or that your solution is more nearly correct than it was given credit for, the procedure for regrades is the following:

  • If your complaint is about the correctness of your solution to a programming question (#6-7), go to our Practice-It! system, which will contain runnable testers for the midterm problems. Type your code into Practice-It, fixing any trivial syntax problems. Run it for yourself and see how nearly correct your solution is.
  • If you still think your grade is incorrect, submit your exam to Marty for a regrade. (Either give it to us in lecture, go to our office hours, or slide it under our office doors.) You must include a cover page with a brief written explanation of what specifically you think was misgraded and why. If your complaint is about overly harsh grading on a programming question, you should also submit a printout of your code being run in Practice-It, along with the test case results, to us so that we can to verify its correctness. We will not accept any exam for a regrade unless it includes this cover page, and we will not re-evaluate grading of the correctess of any programming questions without a typed copy of your solution from Practice-It being shown to us first.
  • Also note: When you submit an exam for a regrade, we will regrade your entire exam. If we notice anywhere that you were mistakenly given too many points, we will also correct this, up to a maximum penalty of -2 for the entire exam. So it is possible (though unlikely) that a regrade request will result in you receiving a slightly lower mark than what you started with.
  • All midterm regrade requests (other than simple score addition errors) must be submitted to Marty by Friday, November 20, 2009.


  • Date: Friday, November 6, 2009
  • Time: in lecture, 50 minutes
  • Place: in normal lecture room, GUG 220

Practice Exams:

  • Sample midterm exams posted here are intended to be very similar to the actual midterm. The number of problems and type of problems on the actual exam will be much like what is seen on these practice exams. Material from Chapters 1-5 and the lectures is considered "fair game" for questions on the actual midterm.
  • The following topics are guaranteed NOT to be tested on the midterm in any form:
    • converting between decimal (base-10) and binary (base-2) numbers
    • classes DrawingPanel, Graphics, and Color
    • the Point class
    • type char
    • exceptions
    • preconditions and postconditions
    • do/while loops and the break statement (regular while loops WILL be tested)
    • the Java assert statement (not the same as logical assertions, which WILL be tested)
    • material from Chapter 6 and above (file I/O, etc.)

Rules and Information:

  • You must show your UW Student ID card to a TA or the instructor for your submitted exam to be accepted.
  • You will have 50 minutes to complete the exam. You may receive a deduction if you keep working after the instructor calls for papers.
  • The exam is open-book/notes. You must work alone and may not use any computing devices of any kind including calculators. Cell phones, music players, and other electronic devices may NOT be out during the exam for any reason.
  • Unless a question specifically mentions otherwise, your 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 don't need to write any import statements in your exam code.
  • On the exam it will be allowed to abbreviate S.o.p for System.out.print and S.o.pln for System.out.println. Otherwise do not abbreviate any code on the exam.
  • Please be quiet during the exam. If you have a question or need, please raise your hand.
  • Corrections or clarifications to the exam will be written at the front of the room.
  • If you violate the University Code of Conduct during the exam, you may receive a 0% for the exam and possibly further punishment.
  • When you have finished the exam, please turn in your exam quietly and leave the room.
  • If you enter the room, you must turn in an exam paper and will not be permitted to leave the room without doing so.