|
Wednesday, 08 October 2008 12:23 |
Exam study guides
For each chapter, the object-oriented programming (OOP) concepts refer to theoretical concepts of OOP that apply to all OOP systems, regardless of programming language. These concepts are the core focus of this course. The Java features refer to the features of the Java programming language which might be different from other object-oriented programming languages (though these will often be similar). You will need to thoroughly understand both the OOP concepts and the Java features according to the presentation in the textbook.
Final exam study guide
The final exam will have two sections:
- Multiple choice: You will need to know all the material specified for the chapters and page numbers indicated.
- Code writing: You will be asked to write code only from material covered in chapters 7, 8 or 9
|
Chapter
|
OOP concepts
|
Java features
|
Chapter 7: Inheritance and polymorphism
(Entire chapter) |
- Inheritance
- Method invocation in a class hierarchy
- IS-A versus HAS-A
- Polymorphism
- Inheritance for code sharing
- Inheritance for common protocol
- Overriding methods
- Overloading methods
|
- Usage of the extends keyword
|
Chapter 8: Abstract classes and interfaces
(Entire chapter) |
- Polymorphic usage of classes and subclasses
- Multiple inheritance
|
- Abstract classes
- Abstract methods
- The Object class and its primary methods
- Interfaces and the implements keyword
- Usage of the super keyword
|
Chapter 9: Constructors and memory management
(Entire chapter) |
- Constructors
- Overloading constructors
|
- The stack and the heap
- super() method
- this() method
- Scope and life of variables
|
Chapter 10: Static variables and methods
(Pages 274 to 286 only) |
|
- Math class and its main methods
- Static methods
- Static variables
- Usage of the final keyword
|
Chapter 11: Exception handling
(Chapter not covered) |
|
|
Chapter 12: Introduction to GUI programming
(Pages 354 to 385) |
|
- Creation of GUIs with JFrame
- Listeners, sources, and events
- Painting graphic objects with JPanel
- BorderLayout
- Inner classes
|
Chapter 13: GUI layouts and components
(Pages 400 to 417) |
|
- BorderLayout, FlowLayout, and BoxLayout
- JTextField, JTextArea, JScrollPane, JCheckBox, JList
|
Chapter 14: Input-output
(Pages 430-447, 452, 454, 458) |
|
- Serialization and deserialization of objects
- Serializable interface and transient keyword
- Writing Strings to and reading Strings from text files
- java.io.File class
|
Chapter 15: Networking and multithreading
(Chapter not covered) |
|
|
Chapter 16: Advanced data structures
(Pages 530-539, 547-550, 556-558) |
|
- ArrayList
- Collections.sort() and Comparable interface
- Lists, sets, and maps (what they are, not how to use them)
|
Chapter 17: Packaging and deployment
(Chapter not covered) |
|
|
Chapter 18: Remote method invocation
(Chapter not covered) |
|
|
Midterm exam study guide
|
Chapter
|
OOP concepts
|
Java features
|
|
Chapter 1: Introduction
|
- Structure of a program, of a class
|
- Source, compiler, byte code, virtual machine
- Class, method, source file
- Basic program structure
|
|
Chapter 2: Classes and objects
|
- Instance variables, methods (state and behaviour)
- Justification for OOP
- Class vs. object
|
|
|
Chapter 3: Primitives and references
|
|
- Primitive vs. object reference
- Java primitives
- Primitive and object declaration and initiation
- Object behaviour on the heap
- Arrays
- Array behaviour on the heap
|
|
Chapter 4: Methods
|
- Object instance variables and object methods
- Getters and setters
- Encapsulation
- Variable scoping
|
- Create complete class
- Pass-by-value
- Method invocation
- Variable return from methods
- Access modifiers private and public
- Declaration and initialization of instance/local variables
- Comparing variables for equality
|
|
Chapter 5: Writing a program
|
|
- for loops
- Increment operator
- Break statement
- parseInt, Math.random
- Casting
|
|
Chapter 6: Java API
|
|
- Debugging
- ArrayList
- Boolean operators
- Java API
|
|
|
Last Updated on Tuesday, 08 September 2009 16:45 |