Problem Set #3: Prep for Quiz #1

Here is a "rough" list of topics that everyone in the class should be familiar with in preparation for the Quiz on Friday.

The list below was given to me to help me prepare practice problems for the prefect session and not as a definite list of topics that will appear on the quiz.

The following list of topics is intended to give you a sense of what I think is important from the course so far, and what I will be thinking of when creating the quiz.  It is essentially a more detailed copy of the 'Class Topics' column of our schedule since the beginning of the term.

Please note that this topic list is a guide, not a contract.  I may have left something off this list that will end up in a quiz question, and there will definitely be topics in the list that I won't be able to ask about on the quiz.  
Java stuff:  
- Java types
- The difference between declaration, initialization, and assignment
- Static methods and data, and how they can and can't be used
- The structure of a main method (and the restrictions on it, since it's static)

OO stuff:  
- The contents of a class (methods and data, both static and non-static)
- Encapsulation, composition, and inheritance
- Interfaces vs. classes

ADTs: List and Stack.  Students should be able to:  
- Name the methods of the ADTs, and the inputs, outputs, and actions of those methods
- Trace the state of an ADT through the execution of several operations on it
 (That is, given some Java code that creates a stack and does some pushes and pops, what's the state of the stack at various chosen positions in the program?)

We will go through the entire list item-by-item. Where appropriate, we will try to solve a toy example illustrative of the particular problem. You will not be asked to write code during the quiz.