Comp202: Principles of Object-Oriented Programming II
Fall 2007 -- Exam 1 Need-to-Knows   

This list should be considered a partial list at best!  Check back often to see if new items are added.   You are responsible for all topics covered in class, labs and assignments, even if they do not appear here.

  1. Linear structures
    1. Know how to use both the immutable IList and the mutable LRStruct frameworks.
    2. Be able to write both forward and reverse accumulation algorithms.
    3. Be able to write higher order functions (algortithms/visitors) such as FoldL and FordR.
      1. Be able to write the lambda functions that work with FoldL and/or FordR to do things like add the elements, print the elements, reverse the list, append the list, etc.
  2. Lazy evaluation
    1. Understand and be able to program the decorator design pattern.
    2. Be able to write an ALazyEval to create simple infinite lists, e.g. arithmetic sequences, Fibonnacci sequence, etc.
  3. Trees
    1. Be able to use and write algorithms for BiTrees.
    2. Be able to write lambda functions for both pre/in/post-order traversals and depth/breadth traversals.
  4. New Java 5.0 features  (see links on main Comp202 homepage for details --
    1. Autoboxing/unboxing
    2. Variable argument lists ("varargs")
    3. Simplified for-loop syntax
    4. Generics will not be on this exam.
  5. General design
    1. MVC design pattern
    2. Decoupling of parts of a system by breaking into autonomous pieces
    3. Utilizing abstract behaviors
      1. Commands
      2. Strategies
      3. Factories
      4. Lambdas




Last Revised Thursday, 03-Jun-2010 09:52:32 CDT

©2007 Stephen Wong and Dung Nguyen