JDEP183H
Handout 39: Final Exam Review
December 7, 2006
Exam 1 Topics
1. Object-Oriented Programming and Software Development
· Basic components of object-oriented programming
· Classes and objects
· Class and instance methods
· Class and instance data values
· Inheritance
· Stages of the software life cycle: design, coding, testing, operation (maintenance)
2. Simple Class
· Data Abstraction
· Object declaration, creation
· Garbage collection
· Message sending
· Program components: comments, import statement, class declaration, method declaration
3. Numerical Data
4. Instantiable Class
5. Selection
6. Repetition
7.
Sets
8.
Relations
9.
Functions
· Basic definitions (domain, target, range, onto, one-to-one, one-to-one correspondence)
· Identify function
· Inverse function
· Composition of functions
· Proofs
Exam 2 Topics
1. Event-Driven Programming
· Basic components of event-driven programming: event sources, listeners, handlers, and an interface
that maps events to handlers.
· Basic GUI objects
· Types of events in Java
· The concept of an Interface—abstract methods and implements.
2. Exceptions and Assertions
· Why use exceptions?
· The try-catch block
· “finally”
· Types of exceptions including user-defined ones
· Throwing exceptions, catching exceptions, propagating exceptions
· Implicitly throwing exceptions, explicitly throwing exceptions, defining a new exception
3. Arrays
4. Search and Sorting
5. Propositional
Logic
· Logical equivalences, logical implications
· Truth tables
· Direct, formal proof
· Proof by contradiction
6. Predicate Logic
· Universal/Existential Generalization/Instantiation
· Quantifiers
· Negation of predicate logic statement
· Translation of English statements
· into predicate logic statements
New Topics
1. Inheritance and Polymorphism
· Importance and benefits of inheritance
· Superclass and subclass
· Abstract class
· Benefits of abstract class
· Member accessibility
· Private, public, and protected
· Constructors
· Extending a class
· Using classes effectively with polymorphism
· Benefits of polymorphism
· Syntax and how to use polymorphism correctly
2. Recursion
· Four components: stopping condition, end case, recursive step, integration step
· Call chain: winding and unwinding phases
· Outside-to-inside decomposition
3. History of Computing