Demonstrate your mastery of Stacks, Queues, recursion and Trees.
The student will:
The student will:
The student will:
The student will:
Distinguish between and implement O(n2) sorting algorithms.
Distinguish between and implement O(nlogn) sorting algorithms.
The student will:
Use Arrays as the underlying data structure for different ADT implementations.
Explain the trade-offs between an array vs. Linked implementation of the ADTs.
The student will:
Implement two different versions of the List interface.
Explain the trade-offs between the two different implementations.
The student will:
Describe the different Java collection classes.
Explain and compare the basics of memory management in different implementations.
The student will:
Explain standard interface for a Stack.
Implement two different versions of the Stack interface.
Compare the trade-offs between the two different implementations.
The student will:
Explain the differences between prefix, infix and postfix notation.
Implement code to process prefix, infix and postfix equations.
Compare the trade-offs between the notations.
The student will:
Implement several different versions of the Queue interface.
Compare the trade-offs between the two different implementations.
The student will:
Use recursive algorithms to solve different problems.
Write correct recursive Java code to solve different problems.
Midterm
Outcomes assessed: Learn about the Java programming language, Learn the basics and uses of algorithm analysis, including big-O notation, Use standard libraries or packages as well as advanced object-oriented programming techniques, Learn about and implement standard algorithms for sorting arrays, Learn about and understand the Array data structure., Learn about and implement the List data structure, Understand Java collection classes and the basics of memory management, Learn about and implement the Stack data structure, Learn about and convert between prefix, infix, and postfix notation, Learn about and implement the Queue data structure, Understand recursion and how to develop recursive algorithms and programs
This assessment will verify that students understand the basics of Stacks, Queues, and recursion. (Excellent 100 - 95, Satisfactory 95 - 85, Borderline 80 - 85, Unsatisfactory < 80)