CS 112
Fall 2020

Old version

This is the CS 112 site as it appeared on December 31, 2020.

Labs

Lab 0: Preliminaries
Please try and complete before your first scheduled lab session on Friday, September 4, 2020. Doing so will give us an opportunity to resolve any outstanding issues during this first session.

Lab 1: Just the basics

Lab 2: Understanding Program Control Flow
solutions: Task 1, Task 2,
Lab 3: More with Static Methods and Strings
solutions: Task 1, Task 2, Task 3 (3.2)
Lab 4: Arrays, primitives and references, recording
solutions: Task 1, Task 2
Lab 5: Understanding Static and Object classes, recording
solutions: Task 1, Task 2, Task 3, Task 4 Cat, Abyssinan, Task 5, Task 6,
Lab 6: Recursion, recording
solutions: RecurPalindrome, Task 2.1-2.2, Task 2.3, Task 3.1, Task 3.2-3.4

Lab 7: Recursive Backtracking, recording

Lab 8: Bubble Sort and Algorithm Analysis, recording
solutions: Task 1, Task 2, Task 3, Task 4, quicksort
Lab 9: Merge sort; a first look at linked lists; StringNode, recording
solutions: Task 1, Task 2.1-2.3, Task 2.4, Task 3.1, Task 3.2
Lab 10: Methods that operate on Linked Lists, recording
solutions: Task 1, Task 2, Task 3, Task 4, ListClient.java
Lab 11: Lists and stacks, recording
solutions: task 0, task 1, task 2, StackClient.java
Lab 12: Stacks, queues; Tree Basics, recording
solutions: task 1, task 2, task 3
Lab 13: Heaps, Heapsort, recording
solutions: task 1, task 2, after one remove, after second remove, after third remove, after insert, task 3, task 4
Lab 14 extra: Hash Tables, open addressing implementation
solutions: task 1