JDEP183H
Handout 23: Final Exam Review
December 10, 2009
Exam 1 Topics
Problem Solving
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
Java Classes and Packages
1. JOptionPane
3. Wrapper classes: Integer, Long, Float, Double
4. System.out.println and System.out.print
5. Characters
6. String and StringBuffer
7. JFileChooser
8. FileOutputStream, FileInputStream
9. DataOutputStream, DataInputStream
10. ObjectOutputStream, ObjectInputStream
11. PrintWriter, BufferedReader
12. Scanner
13. java.io.*
14. java.util.*
14. javax.swing.*
Exam 2 Topics
Problem Solving
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
Java Classes and Packages
1. JFrame
2. JOptionPane
3. java.io.*
4. javax.swing.*
--
Various GUI classes, layouts, listeners
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