Exam study guides Fall 2008 Print E-mail
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)
  • Not covered
  • 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)
  • Not covered
  • 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)
  • Not covered
  • Not covered
Chapter 18: Remote method invocation
(Chapter not covered)
  • Not covered
  • 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
  • Use of main() in OOP

Chapter 3: Primitives and references

  • Objects
  • 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

  • Program design
  • for loops
  • Increment operator
  • Break statement
  • parseInt, Math.random
  • Casting

Chapter 6: Java API

  • Foundation classes
  • Debugging
  • ArrayList
  • Boolean operators
  • Java API
Last Updated on Tuesday, 08 September 2009 16:45