Exam Course Topics: - writing methods - constructors - classes and objects - instance, local, and static variables - primitive data types - Strings - toString and equals - input/output - conditionals and boolean expressions // Midterm 1 covers up to here - loops - arrays - testing - parameter passing - pass by value // Midterm 2 covers up to here - vectors - inheritance - searching algorithms - sorting algorithms - algorithm complexity. Types of exam questions: - write a method - write a code fragment - write a class - what output does a program produce (trace carefully) - how to test a program - fill in the blanks - which statements compile, or run without error - which variables are visible where How to study ------------ - work through appropriate ProgramLive chapters - look at the examples on my web page - go over tutorials and assignments to make sure you understand the code. - practice with old exams - see web page How to write an exam -------------------- - Budget your time - don't get stuck on a question - READ CAREFULLY Questions often have several parts: * The introduction: a brief statement, in one or two sentences, of the basic idea. Grasp this, and you can probably get started. * An example of what the code is supposed to achieve, such as input and output. This is not just intended to be pretty; often the example will include some of the special cases you might be wondering about. * Clarification of the details. For example, will there be non-letters in input "words"? what do you do with the empty string? do you have to handle user errors? are prompts needed? * A statement of exactly how much you have to do. If the phrase "program fragment" occurs somewhere in the question, it means that you should not write an entire program.