Assessments in module order

Module: Welcome to ICS 211

Q01: Practice

Quiz 12 Jan 10:30 AM

Outcomes assessed: Understand the goals, structures, and procedures for learning in ICS 211, Learn about the Java programming language

This assessment will verify that students understand how the ICS211 quizzes work.

Module: Java Review

Q02: Java Review

Quiz 12 Jan 10:30 AM

Outcomes assessed: Learn about the Java programming language

This assessment will verify that students remember what they learned in ICS 211, understanding the basics of Java, by writing a simple program that manipulates Strings.

Module: OOP and Class Hierarchies

Q03: Person Class

Quiz 19 Jan 10:30 AM

Outcomes assessed: Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques

This assessment will verify that students understand the basics of Object Oriented Programming:

  • Class Hierarchies,
  • Interfaces, and
  • Overriding methods.

Q04: Inheritance and interfaces

Quiz

Outcomes assessed: Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques

This assessment will verify that students understand the basics of class inheritance and interfaces.

H01: OOP, Class Hierarchies and Interfaces

This assessment will verify that students understand how implement simple class hierarchies and interfaces.

Module: Simple Sorting Algorithms

Q05: Sorting Arrays

Quiz 26 Jan 10:30 AM

Outcomes assessed: Learn about and understand the Array data structure., Learn about and implement standard algorithms for sorting arrays, Learn about the Java programming language

This assessment will verify that students understand the basics of Quadratic Sorting Algorithms such as:

  • Insertion Sort,
  • Bubble Sort, and
  • Selection Sort.

H02: Sorting Arrays

Assignment

Outcomes assessed: Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Learn about and understand the Array data structure., Learn about and implement standard algorithms for sorting arrays, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of Big-O notation and Quadratic Sorting Algorithms such as:

  • Insertion Sort,
  • Bubble Sort, and
  • Selection Sort.

The students will implement all three sorting algorithms for arrays of objects.

Module: Lists

Q06: List ADT

Quiz 02 Feb 10:30 AM

Outcomes assessed: Learn about and implement the List data structure, Learn about and understand the Array data structure., Learn the basics and uses of algorithm analysis, including big-O notation

This assessment will verify that students understand the basics of the List Abstract Data Type.

Q07: ArrayList

Quiz 02 Feb 10:30 AM

Outcomes assessed: Learn about and implement the List data structure, Learn about and understand the Array data structure., Learn the basics and uses of algorithm analysis, including big-O notation

This assessment will verify that students understand the basics of ArrayList implementation of the List interface.

H03: Sortable Shopping List (Array implementation)

Assignment

Outcomes assessed: Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Learn about and implement the List data structure, Learn about and understand the Array data structure., Learn the basics and uses of algorithm analysis, including big-O notation, Learn about and implement standard algorithms for sorting arrays, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of ArrayList implementation of the List interface, Big-O notation and Quadratic Sorting Algorithms.

Q08: LinkedList

Quiz 09 Feb 10:30 AM

Outcomes assessed: Learn about and implement the List data structure, Learn about and implement the Java Iterator and Iterable interfaces, Learn the basics and uses of algorithm analysis, including big-O notation

This assessment will verify that students understand the basics of LinkedList implementation of the List interface.

Q09: LinkedList

Quiz 09 Feb 10:30 AM

Outcomes assessed: Learn about and implement the List data structure, Learn about and implement the Java Iterator and Iterable interfaces, Learn the basics and uses of algorithm analysis, including big-O notation

This assessment will verify that students understand the basics of LinkedList implementation of the List interface.

H04: Sortable Shopping List (Doubly linked implementation)

Assignment

Outcomes assessed: Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Learn about and implement the List data structure, Learn the basics and uses of algorithm analysis, including big-O notation, Learn about and implement standard algorithms for sorting arrays, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of Doubly Linked List implementation of the List interface, Big-O notation and Quadratic Sorting Algorithms.

Q10: List Iterators

Quiz 16 Feb 10:30 AM

Outcomes assessed: Learn about and implement the List data structure, Learn about and implement the Java Iterator and Iterable interfaces, Learn the basics and uses of algorithm analysis, including big-O notation

This assessment will verify that students understand the basics of Iterators in lists.

H05: Iterating over sortable shopping lists

Assignment

Outcomes assessed: Learn about and implement the List data structure, Learn about and implement the Java Iterator and Iterable interfaces, Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of List Iterators both in an ArrayList and a Doubly Linked List implementation of the List interface.

Module: Midterm Exam 1

Midterm 1

Midterm

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, Understand Java collection classes and the basics of memory management

This assessment will verify that students understand the basics of OOP, Lists, Big-O notation and Quadratic Sorting Algorithms. (Excellent 100 - 95, Satisfactory 95 - 85, Borderline 80 - 85, Unsatisfactory < 80)

Module: Stacks

Q13: LinkedStack

Quiz 02 Mar 10:30 AM

Outcomes assessed: Learn about and implement the Stack data structure

This assessment will verify that students understand the basics of Stacks by implementing a linked node based stack.

H06: Postfix Calculator

Assignment

Outcomes assessed: Learn about and implement the Stack data structure, Learn about and convert between prefix, infix, and postfix notation, Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of Stacks by implementing a Postfix notation calculator.

Module: Queues

Q14: LinkQueue

Quiz 09 Mar 10:30 AM

Outcomes assessed: Learn about and implement the Queue data structure

This assessment will verify that students understand the basics of Queues by implementing an linked based queue.

Q15: ArrayQueue

Quiz 09 Mar 10:30 AM

Outcomes assessed: Learn about and implement the Queue data structure

This assessment will verify that students understand the basics of Queues by implementing an array based queue.

H07: Simulate checkout lanes

Assignment

Outcomes assessed: Learn about and implement the Queue data structure, Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of Queues by implementing a grocery store checkout line simulator.

Module: Recursion

Q16: Recursion

Quiz 16 Mar 10:30 AM

Outcomes assessed: Understand recursion and how to develop recursive algorithms and programs

This assessment will verify that students understand the basics of recursion by writing a recursive method.

Q17: Recursion

Quiz 16 Mar 10:30 AM

Outcomes assessed: Understand recursion and how to develop recursive algorithms and programs

This assessment will verify that students understand the basics of recursion by writing a recursive toString method.

H08: Recursive Sudoku Solver

Assignment

Outcomes assessed: Understand recursion and how to develop recursive algorithms and programs, Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of recursion by implementing a recursive Sudoku solver.

Module: Midterm Exam 2

Midterm 2

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)

Module: Trees

Q19: BinarySearchTree

Quiz 06 Apr 10:30 AM

Outcomes assessed: Learn about and implement the Tree data structure, Understand recursion and how to develop recursive algorithms and programs

This assessment will verify that students understand the basics of binary search trees.

Q20: BinarySearchTree

Quiz 13 Apr 10:30 AM

Outcomes assessed: Learn about and implement the Tree data structure, Understand recursion and how to develop recursive algorithms and programs

This assessment will verify that students understand the basics of binary search trees.

Q21: Heaps

Quiz 13 Apr 10:30 AM

Outcomes assessed: Learn about and implement the Tree data structure

‘“This assessment will verify that students understand the basics of Heaps.”’

H09: Sort by using a Binary Search Tree

Assignment

Outcomes assessed: Learn about and implement the Tree data structure, Understand recursion and how to develop recursive algorithms and programs, Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of binary search trees by implementing a Contact organizer.

Module: Hash Tables

Q22: Open Address Hashmap

Quiz 20 Apr 10:30 AM

Outcomes assessed: Learn about and implement the Hash Map data structure

This assessment will verify that students understand the basics of Maps.

Q23: Chaining Hashmap

Quiz 20 Apr 10:30 AM

Outcomes assessed: Learn about and implement the Hash Map data structure, Learn about and implement the List data structure

This assessment will verify that students understand the basics of Maps.

A09: HashMap Assessment

Assignment

Outcomes assessed: Learn about and implement the Hash Map data structure, Learn about and implement the List data structure, Learn about the Java programming language, Use standard libraries or packages as well as advanced object-oriented programming techniques, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of Maps by implementing a Open Address HashMap and a Chained HashMap.

Module: Complex Sorting Algorithms

Q24: Heaps

Quiz 27 Apr 10:30 AM

Outcomes assessed: Learn about and implement standard algorithms for sorting arrays

‘“This assessment will verify that students understand the basics of heap data structures.”’

Q25: Merge

Quiz 27 Apr 10:30 AM

Outcomes assessed: Learn about and implement standard algorithms for sorting arrays

This assessment will verify that students understand the basics of merge algorithm.

H10: Complex Sorting Assessment

Assignment

Outcomes assessed: Learn about and implement standard algorithms for sorting arrays, Learn about the Java programming language, Be exposed to software engineering techniques, Be exposed to software testing techniques

This assessment will verify that students understand the basics of sorting algorithms.

Module: Final Exam

Final Exam Assessment

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.

Final Grade Assessment

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 2015 assessment will verify that the students’ mastery of OOP, Big O, Lists, Stacks, Queues, Recursion, Trees, Maps, and Sorting Algorithms.”