-Never leave questions blank -Method headers are worth points -Skim over the whole exam first, you can guess which questions are long vs short and which questions are hard vs easy. This will help you pace yourself. Don't spend too long on long questions that aren't worth many points. -Crib sheet allowed. -If something is unclear, ask the TA. -You could lose points for compiler errors, but not for trivial errors like missing semi-colons or misaligned braces Ex: int x =0 is OK int x = 3.5; is not OK -Commenting is useful to explain what you are trying to do, but not mandatory. Variable names are similarly useful for helping me understand what the variable's purpose is, but are not mandatory. -Indentation also mainly to make it a bit easier to read, but not strictly necessary. -Each question is graded independently. What this means is if you mess up a method in a previous part of a multi-part question, you can still use the method in the next part. For example, had you left the isPerfectNumber() method blank or done it incorrectly, you could still use it in question 4 for full marks. -Important Java programming topics: -variables -types and making sure types match -int, char, double, String, boolean, float, arrays -expressions----> integer expressions, boolean expressions, String expressions, double expressions, mixed expressions -methods -giving input to a method. The value of the input expression is copied into the formal parameter variable -getting back output from a method using a return statement -if statements ---> if / else if / else -nested if statements -for loops -while loops -nested loops -references vs primitive types -arrays (both 1d and 2d with more emphasis on 1d) -String class (basics such as length(), charAt()) -what is an Object -what the new operator does (creates an Object) Not on this exam: -creating your own reference types -static vs not static -public vs private