CS 112
Spring 2025

Labs

Lab Sections by scheduled time:

A2 KCB 104 Thu 3:35 p.m. - 4:25 p.m.
A3 KCB 103 Thu 5:00 p.m. - 5:50 p.m.

A4 MCS B33 Fri 9:05 a.m. - 9:55 a.m.
A5 KCB 104 Fri 10:10 a.m. - 11:00 a.m.
B2 CAS 233 Fri 10:10 a.m. - 11:00 a.m.
A6 KCB 104 Fri 11:15 a.m. - 12:05 p.m.
B3 MCS B29 Fri 11:15 a.m. - 12:05 p.m.
A7 MCS B29 Fri 12:20 p.m. - 1:10 p.m.
B4 MCS B31 Fri 12:20 p.m. - 1:10 p.m.
B5 MCS B29 Fri 1:25 p.m. - 2:15 p.m.
B6 CDS 262 Fri 2:30 p.m. - 3:20 p.m.
B7 MCS B37 Fri 3:35 p.m. - 4:25 p.m.
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, Extra Practice
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
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 and Sorting Algorithm Analysis
solutions: Task 2
Lab 7: Sorting Analysis
solutions: Task 1, quicksort, Task 2
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