Assessments in module order

Module: Welcome to ICS 211

Q01: Practice

Quiz 20 Aug 12:00 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 22 Aug 12:00 AM

Outcomes assessed: Learn about the Java programming language

This assessment will verify that students remember what they learned in ICS 111, understanding the basics of Java.

H01: Convert InputStream to binary, hexadecimal, and UTF-8

This assessment will verify that students understand how to convert bytes to binary, hexadecimal and UTF-8.

Module: OOP and Class Hierarchies

Q03: Person Class

Quiz 27 Aug 12:00 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 29 Aug 12:00 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.

H02: OOP, Class Hierarchies and Interfaces

Assignment

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

Module: Simple Sorting Algorithms

Q05: Big O

Quiz 03 Sep 12:00 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 BigO analysis.

Q06: Sorting Arrays

Quiz 05 Sep 12:00 AM

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

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

H03: 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

Q07: List ADT

Quiz 10 Sep 12:00 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.

Q08: ArrayList

Quiz 12 Sep 12:00 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.

H04: Sortable Beer 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.

Q09: LinkedList

Quiz 17 Sep 12:00 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.

Q10: LinkedList

Quiz 19 Sep 12:00 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.

H05: Sortable Beer 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.

Q11: List Iterators

Quiz 24 Sep 12:00 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.

Q12: Iterators

Quiz 26 Sep 12:00 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.

H06: Iterating over Beer Flights

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

Q14: LinkedStack

Quiz 10 Oct 12:00 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.

H07: 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

Q15: LinkQueue

Quiz 15 Oct 12:00 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.

Q16: ArrayQueue

Quiz 17 Oct 12:00 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.

H08: 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

Q17: Recursion

Quiz 22 Oct 12:00 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.

Q18: Recursion

Quiz 24 Oct 12:00 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.

H09: 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: Binary Tree Traversal

Quiz 05 Nov 12:00 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 tree traversal.

Q20: BinarySearchTree

Quiz 07 Nov 12:00 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.

H10: 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.

Q21: BinarySearchTree

Quiz 12 Nov 12:00 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.

Q22: Heaps

Quiz 14 Nov 12:00 AM

Outcomes assessed: Learn about and implement the Tree data structure

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

H11: Huffman 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 Huffman trees by by using them to compress and decompress files.

Module: Hash Tables

Q23: Open Address Hashmap

Quiz 19 Nov 12:00 AM

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

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

Q24: Chaining Hashmap

Quiz 21 Nov 12:00 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.

Module: Complex Sorting Algorithms

Q25: Heaps

Quiz 26 Nov 12:00 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.”’

Q26: Merge

Quiz 28 Nov 12:00 AM

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

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

H12: Implement a Data Structure

Assignment

This assessment will verify that students understand how choose the correct ADT to implement a Potion bag with performance requirements.

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