Experiential Learning "Active" learning opportunities

This page collects together all of the “experiences” associated with individual modules.

In this site, experiences represent “active” learning opportunities, as opposed to readings, which represent “passive” learning opportunities. In many courses, readings and experiences together constitute the “assignments”.

Module: Welcome to ICS 211

Environment configuration

Learn how to configure your development environment.

Module: RadGrad

Provide pre-RadGrad Feedback

Help us understand you better prior to your RadGrad journey

E02: RadGrad New User Walk-through

Learn more about RadGrad

Reflect on RadGrad

Write a short essay summarizing your experience with RadGrad

Module: Java Review

Practice: Writing Java Programs

Writing simple Java programs.

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

Module: OOP and Class Hierarchies

Object Oriented Programming Practice Quiz

Write a simple Java Class that implements an interface.

Practice: Classes

Designing classes.

Practice: Inheritance

Class hierarchies.

H02: OOP, Class Hierarchies and Interfaces

Implement a simple class hierarchy with interfaces.

Module: Big-O Notation

H03: Sorting Java Arrays

Write a Generic Java Class that supports sorting Arrays.

Module: Simple Sorting Algorithms

Simple Sorting Practice Quiz

Write a simple Java Class that has a bubbleSort method.

Practice: Reading Code

Find the errors in the code.

H03: Sorting Java Arrays

Write a Generic Java Class that supports sorting Arrays.

Module: Lists

ArrayList Practice Quiz

Write the add method for the ArrayList class.

Practice: List Interface

Find the errors in the code.

Practice: ArrayList

Working with ArrayLists.

H04: Sortable Cheese List (Array implementation)

Implement a sortable cheese list using an array to store the items.

LinkedList Practice Quiz

Write add method for the LinkedList class.

Practice: LinkedList add

Practice implementing the LinkedList.

Practice: DoubleLinkedLists

More LinkedLists

H05: Sortable Cheese List (Doubly linked implementation)

Implement a sortable cheese list using a linked structure to store the items.

Iterator Practice Quiz

Write next method for the LinkedListIterator class.

Practice: Array Iterators

Implementing Iterators.

Practice: Iterators

More Iterators

H06: Iterating over Cheese

Write a circular doubly linked list that implements ListIterator.

Module: Midterm Exam 1

Practice: Midterm1

Take a practice midterm.

Midterm 1 Exam

Exam on everything so far.

Module: Stacks

Prefix, Infix, Postfix Notation Practice Quiz

Evaluate several different mathematical notations.

ArrayStack Practice Quiz

Write the ArrayStack implementation of the Stack interface.

LinkedStack Practice Quiz

Write the LinkedStack implementation of the Stack interface.

Practice: Stacks

Practice: Stacks

H07: Implement a simple card game of War

Create a two player game of war

Module: Queues

ArrayQueue Practice Quiz

Write the ArrayQueue implementation of the queue interface.

Practice: Using Queues

Using Queues to simulate a checkout line.

LinkedQueue Practice Quiz

Write the LinkedQueue implementation of the Queue interface.

Practice: Object-oriented Analysis and Design

Designing the objects to solve a problem.

H08: Simulate a home router

Write a simulator of a home router.

Module: Recursion

Recursive Search Practice Quiz

Implement a recursive binary search method on a sorted array of ints.

Practice: Binary Search

Recursive Binary Search

Practice: Recursive toString.

H09: Recursive Sudoku Solver

Implement a recursive method to solve a given Hexadecimal Sudoku problem.

Module: Midterm Exam 2

Practice: Midterm2

Take a practice midterm.

Midterm 2 Exam

Exam on everything so far.

Module: Trees

Binary Tree Traversal Practice Quiz

Write an in-order toString() method for a Binary Tree.

BinarySearchTree Practice Quiz

Write the find() method for a BinarySearchTree.

Practice: Binary Tree Traversal

More Binary Tree Traversals.

Practice: Binary Trees

Working with Binary Trees

Array based BinarySearchTree Practice Quiz

Write the insert() method for a BinarySearchTree.

H10: Sort by using a Binary Search Tree

Implement a BinarySearchTree and use it to sort Cheese.

Practice: Binary Search Tree

Deleting from a Binary Search Tree.

Practice: Heaps

Building and maintain a heap.

H11: Huffman Trees

Implement Huffman encoding using a Huffman Tree.

Module: Hash Tables

Open Address Hashmap Practice Quiz

Write the get method.

Practice: Open Addressing

Insert and delete items in an Open Addressed Hashtable.

Chaining Hashmap Practice Quiz

Write the put method.

Practice: Chaining

Insert and delete items from a Chained Hashtable.

Module: Complex Sorting Algorithms

Heap Practice Quiz

Write the reheap method.

Practice: Heap Sort

Practicing with the Heap Sort

Practice: Merge and Quick Sorts

More complex sorting algorithms.

H12: Implement a Data Structure

Create 3 Potion Bags

Module: Final Exam

Practice: Final

Take a practice midterm.

Final Exam

Exam on everything in this class.