Old version
This is the CS 112 site as it appeared on May 12, 2022.
Labs
- Lab 0: Preliminaries
- Please try and complete before your first scheduled lab session. Doing so will give us an opportunity to resolve any outstanding issues during this first session.
- Lab 1: Getting started, Java basics
- solutions: Task 1, Task 2, Task 3, Task 4
- Lab 2: Strings and arrays; a first look at reference types
- solutions: Task 1, Task 2, Task 3, Challenge
- Lab 3: Static vs. object classes; writing custom/blueprint classes
- solutions: Task 2, Task 3, Task 4, Challenge
- Lab 4: Understanding inheritance and polymorphism; ArrayBag case study
- solutions: Task 1, Cat.java, Abyssinian.java, Task 2, Task 3, ArrayBag.java
- Lab 5: Recursion
- solutions: Task 1, Task 2, Task 2.3, Task 3.1-3.3, Task 3.4
- Lab 6: Recursive backtracking; A first look at Big-O
- solutions: Task 2
- Lab 7: Bubble sort to mergesort
- solutions: Task 2, Task 3, Task 4, quicksort
- Lab 8: A first look at linked lists; StringNode class
- solutions: Task 1.1-1.3, Task 1.4, Task 2.1, Task 2.2, Task 3, Task 4
- Lab 9: The List ADT
- solutions: task 1, task 2, task 3, ListClient.java
- Lab 10: Stacks and Queues
- solutions: task 1, task 2, task 3, StackClient.java
- Lab 11: Binary trees and search trees
- solutions: task 1, task 2.1, task 2.2 (after deleting 6, after deleting 15, after deleting 20), task 3
- Lab 12: 2-3 Trees; binary-tree iterators
- solutions: task 1, task 2
- Lab 13: Hash tables; Heap basics
- solutions: task 1, task 2, task 3: questions 1-3, after one remove, after second remove, after third remove, after insert