CS211 Primary Topics for Prelim I Exam

Concepts and Programming Techniques:
    Iteration, conditionals, operator precedence, ...

Classes
    Objects
    Constructors and instantiation
    Instanceof operator
    Static variables and methods
    Parameter passing, return values, reference
    Method invocation, method signature, dynamic dispatch criteria

Program Design
    UML Class diagram specifications
    Pseudo-code
    Program/system lifecycle
    Waterfall model
    Javadoc and comments 
    debugging

Inheritance:
    subclassing
    polymorphism
    interfaces
    abstract classes
    casting

Access, I/O, Exceptions
    Access control modifiers
    Packages
    Exceptions, throw, throws
    Try, catch and finally
    Runtime exceptions
    Required exception handling

Recursion, Induction:
    How it works: parameters, execution stack
    Divide and conquer
    Parsing: Recursive descent
    Tail recursion
    Induction proofs

Algorithm Analysis
    Big-O, asymptotic complexity
    Binary search, linear search, ...
    Sorting: Quicksort, ...
    Comparison of algorithms
    Linear, quadratic, ....
    Average case, worst case analysis


Data Structures
    Stacks and Queues