Assessments in module order

Module: Welcome to ICS 211

Q01: Practice

Quiz 09 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 11 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 16 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 18 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 class inheritance and interfaces.

Module: Simple Sorting Algorithms

Q05: Sorting Arrays

Quiz 25 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.

A01: 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: ArrayList

Quiz 30 Jan 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.

Q07: ArrayList

Quiz 01 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.

A02: ArrayList and Simple Sorting

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 06 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 08 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.

A03: Double Linked List with Simple Sorting

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 13 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.

A04: List Iterators

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 01 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.

A05: 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: ArrayQueue

Quiz 06 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.

Q15: LinkedQueue

Quiz 08 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 LinkedNode based queue.

A06: CircularArrayQueue

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 13 Mar 01:30 PM

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 15 Mar 01:30 PM

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.

A07: Recursion

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 05 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 10 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 12 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.”’

A08: BinarySearchTree

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 17 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 19 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 24 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 26 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.

A10: 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.”