CS2851 -- Detailed Outcomes
Fall 2006
At the time of the Midterm Exam, a student should be able to:
- Understand the meaning of asymptotic time complexity analysis. In
particular:
- Describe the value of big-oh notation.
- Describe the limitations of big-oh notation.
- Provide a definition for big-oh notation.
- Be able to analyze the time complexity of simple algorithms with loops
and conditionals.
- Be able to analyze the time complexity of simple recursive
methods.
- Be able to compare the time complexity of two alternate algorithms.
- Be able to analyze the time complexity of a program with multiple simple
method calls with known time complexity.
- Interpret and write Java classes that use generics.
- Interpret and write Java code using the ArrayList and LinkedList classes.
- Understand the underlying organzation of the following data structures:
array-based-list, double/singly-linked-list, stack, and queue.
- Describe and explain the time complexity for inserting, finding, and
deleting items to/from the following data structures: ArrayList,
LinkedList, stack, and queue.
- Enumerate and explain the methods available in the pure stack and
pure queue interfaces.
- Define the term adaptor class and be able to implement a simple adaptor
class, e.g., stack, queue.
- Understand and apply recursion in algorithm development.
At the time of the Final Exam, a student should, in addition to the above,
be able to: