You should expect the final to be of similar complexity as the midterm, with similar (limited) expectations on writing code from scratch. You may be asked a read a bit more code than on the midterm however.
The exam will not directly re-test material from the midterm, but may touch on some of that material to set up problems.
The exam is pencil-and-paper. You may not use a computer.
The exam is self-contained. You will not be asked to recall 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, how to distinguish abstract classes from non-abstract classes). You will not lose points for a missing semicolon or unbalanced braces as long as your indentation makes it clear what goes where.
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 summary section of each set of lecture notes indicates the concepts that you should have learned this term. These include:
I will post the literal instruction page on Monday, after I have finished writing the exam.