The final exam will be in class on Tuesday, December 15th.
The questions will focus on material since the midterm, but some material from the first part of the course may be needed to set up problems on the material from the back part of the course.
The exam is pencil-and-paper. You may not use a computer.
The exam is self-contained. You will not be asked to remember any specific problem from homework or labs.
You will not be expected to write much code on the exam. You may be asked to annotate code with access modifiers or show where to put given pieces of code within a set of given classes. You will not be asked to write much by way of methods.
You will not be graded on the details of Java syntax. You should know what info goes where (i.e., where fields go, what goes into each of interfaces and classes, where public/private annotations go, etc). You will not lose points for a missing semicolon or unbalanced braces as long as your indentation makes it clear what goes where.
Solutions are linked when available. Feel free to go over these problems in anyone's office hours.
midterm from B-term 2011, question 3.
final from B-term 2011, questions 1, 2 (parts a and b) and 3 (parts a and b, not c). Solution to question 2
final from B-term 2012, questions 1-3 (but not 4). Solution to question 1, Solution to question 3
midterm from D-term 2015: question 3 (questions 1 and 2 were more towards the midterm). Solution to question 3
You may bring a single sheet of paper with whatever notes, examples, comments, etc that you wish. You may use both sides of the paper. Typeset or handwritten is fine. The exam is otherwise closed-book, closed-notes.
You may not share paper notes with others during the exam.
The final will focus on the following topics that we have done since the midterm:
Topics from the first half of the course, such as class hierarchies, could show up indirectly, but won't be the focus of any particular question
The exam will not cover any material past the lecture on Friday, December 11.