Final Review Notes

Here are some topics from the notes for the class. Questions can come from any of these. The final will be about the same length and complexity as the midterm. Probably the same kind of questions. If you have questions, ask.

Notes 5-6

One key idea is to understand the difference between the definition of a data structure and the implementation. We saw several examples of each structure below using several implementations. Lists with pointers and lists withe array indices.

Notes 7

Notes 8

More polymorphism, exceptions and I/O.

Notes 9

Database interfaces.
JDBC is a layer that exists between your code and the database. You create objects to represent connections, statements and results. Calling the methods causes the JDBC layer to access the database. You're program doesn't have to really change to connect to different databases. It can do this at runtime without re-compiling. Know the basic syntax for select and update statements.

Notes 10

Software engineering.
A development process must have at least the following stages: requirements,design,implementation and testing. Know the brief definitions of build and fix, waterfall and iterative. Know what pseudo code is. Know what the different kinds of testing are: unit, integration and system.

Notes 11

Recursion.
What are the rules of recursion? Be able to write or fix a simple recursive routine. Why would you use recursion? Is it more or less efficient than the non-recursive one? Is there always a non-recursive form of an algorithm?