Assessments in module order

Module: Java Review

Q01: Java Review

Quiz 13 Jan 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

Q02: Person Class

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

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

Q03: Identify Sorts

Quiz 25 Jan 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 basic sorting algorithms.

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

Q04: List ADT

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

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

Q05: LinkedList

Quiz 08 Feb 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 Pizza 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.

Q06: List Iterators

Quiz 15 Feb 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 Pizza Slices

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

Q07: Stacks

Quiz 01 Mar 12:00 AM

Outcomes assessed: Learn about and implement the Stack data structure

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

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

Q08: Queue

Quiz 08 Mar 12:00 AM

Outcomes assessed: Learn about and implement the Queue data structure

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

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

Q09: Recursion

Quiz 22 Mar 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.

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

Q10: Binary Tree Traversal

Quiz 05 Apr 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.

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.

Q11: Heaps

Quiz 12 Apr 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 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

Q12: Hashtables

Quiz 19 Apr 12:00 AM

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

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

Module: Complex Sorting Algorithms

Q13: Complex Sorting

Quiz 26 Apr 12:00 AM

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

‘“This assessment will verify that students understand the basics of more complex sorting algorithms.”’

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