The final exam will be in class on Tuesday, Dec 11th. You can pick up your graded exam in class on Thursday, Dec 13th (the last day of term).
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 asked to write Javadoc or JUnit tests.
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.
I do not have the exam answers written out to post, but 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 2 and 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 access modifiers, encapsulation, super classes, etc could show up indirectly.
The exam will not cover any material past the lecture on Friday, Dec 7.
You have 50 minutes to complete the problems on the following pages. There should be sufficient space provided for your answers.
If a problem asks you to create an interface, you should provide a complete interface, including method headers and argument types.
If a problem asks you to create a class:
Omit the Examples class (examples of data and test cases) unless a question asks otherwise.
If a problem asks you to choose a data structure, provide the type of content as well as the name of the data structure (for example, a LinkedList<String>, a HashMap<String,Dillo>, a graph with People as nodes). You may indicate the content types either in code or in prose.