Hi There!

I'm Dan Schlegel, an Associate Professor in the Computer Science Department at SUNY Oswego

Final Exam Study Guide

The following is a list of topics we have studied this semester. These topics are all fair game for the final, with the items in bold being the ones since the midterm which will occur with more frequency than the others. Items with asterisks appeared on the first exam but are sure to appear again…! Questions may ask you to write code, do some short-answer, or do some design work.

  • Object Orientation
    • Interfaces
    • Inheritance
    • Abstract classes
    • Encapsulation
    • Information hiding
  • Intermediate Java Concepts
    • Appropriate use of access modifiers
    • Appropriate use of static modifier
    • Overriding methods
    • Appropriate use of ‘this’ and ‘super’
    • Error Handling
    • Generics
    • Iterator, Iterable Interfaces
    • Comparable Interface
  • Misc Concepts
    • Event-driven programming
    • XML Parsing using the SAX Parser
    • DRY Principle
    • Identifying Edge Cases
    • Unit Testing
  • Design of multi-class programs*
  • Asymptotic Analysis
    • Constant Time
    • Linear Time
    • Quadratic Time
    • Logarithmic Time
  • List-Based Data Structures*
    • Array
    • ArrayList
    • ExpandableArray
    • LinkedList (Single, Double, Circular)
    • Stack
    • Queue
  • Tree-Based Data Structures
    • BST
    • Traversal
  • Other Java Collections
    • Map
    • Set
  • Sorting Algorithms
    • Insertion Sort
    • Selection Sort
    • Merge Sort
    • Quick Sort
  • Things related to the game you’ve been writing!*