Demonstrate your mastery of all the material in this course.
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:
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.
The student will:
Explain the standard structure of a Tree.
Implement binary trees.
Implement binary search trees.
Implement a Heap.
The student will:
Explain the differences between pre-order, in-order and post-order traversals.
Implement code to conduct pre-order, in-order and post-order traversals of binary trees.
The student will:
Implement two different versions of the Hash Map interface, open addressing and chaining.
Explain the trade-offs between the two different implementations.
The student will:
Explain and implement the binary and linear search algorithms.
Compare, contrast and implement pre-order, in-order, and post-order binary tree traversal.
Outcomes assessed: Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Learn the basics and uses of algorithm analysis, including big-O notation, 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, 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, Learn about and implement the Tree data structure, Learn about and implement pre-order, in-order, and post-order traversals, Learn about and implement the Hash Map data structure, Learn about and implement standard algorithms for searching
This assessment will verify that the students’ mastery of OOP, Big O, Lists, Stacks, Queues, Recursion, Trees, Maps, and Sorting Algorithms.
Outcomes assessed: Learn about the Java programming language, Understand the goals, structures, and procedures for learning in ICS 211
“The final grades in ICS211 Spring 2021 assessment will verify that the students’ mastery of OOP, Big O, Lists, Stacks, Queues, Recursion, Trees, Maps, and Sorting Algorithms.”