-
The final is on 30 April 1999, 1-5 PM, in McDonnel 162.
The final
is comprehensive, drawing from material presented in-class during
the entire semester.
- The exam is a standard, 2-hour final. However, four
hours are scheduled so that time will not be an issue in taking this exam.
- It would be a good idea to review the Quiz material.
- If you have a conflict with the scheduled time for the final exam,
you must make arrangements with the instructor at least
72 hours in advance.
- Definitions
- Object definition (class)
- Object instance
- Parameter
- Instance variable
- Local variable
- Constructor
- Accessor
- Immutable
- Recursion
- Iteration
- Loop invariant
- Loop termination condition
- Static method
- Reduction
- Abstraction
- Linked list
- Heap (where instances are allocated)
- Stack (where local variables are allocated)
- Stack ADT
- Queue ADT
- Subclass, superclass
- Abstract class
- Expressions
- Write an expression for an arithmetic formula
- Tree representation of an expression
- Substitution to evaluate an expression
- Methods
- APIs
- Be able to explain what a method does
- Be able to write a method to compute something
- Be able to use the substitution model to show what a method computes
- Be able to use the data flow model to show what a method computes
- Be able to find and to fix errors in a method
- Be able to write a method from its specification
- Be able to write the specification for a given method
- Objects
- Instantiation
- The role and obligations of a constructor
- Method calls on an instance
- Use of instance variables
- Objects as containers
- Inheritance
- Abstract methods and classes
- Interfaces
- Polymorphism
- Recursion
- See "Recursion" (just kidding)
- Base cases
- Substitution model to trace evaluation
- Data flow model to show evaluation
- Determining valid input parameters for a method
- Write a recursive method to do something
- Iteration
- Pattern of an interative
while
loop
- Initialization
- Bump
- Guts
- Termination
- Trace what an interative loop does
- Write an interative loop to compute something
- Identify a useful loop invariant
- Identify a loop's termination condition
- Complete a loop based on a given loop invariant
- Data Structures
- Know the following ADTs covered in class:
- Understand that multiple representations can support the same ADT
- Understand the relative time complexity for an operation
across different reprsentations.
- Be able to implement one ADT based on another.
- Algorithms
- Conversion of a number from one base to another
- Binary search -- arrays
- Binary search tree insertion/deletion
- Stable matching
- Quicksort
Last modified 15:58:17 CDT 20 April 1999
by Ron K. Cytron