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.2
- Lab 2: Moving on from the basics
- solutions:
Task 1,
Task 1 Test,
Task 2.1,
Task 2.2
- Lab 3: Strings and arrays; a first look at reference types
- solutions
Task 1,
Task 2,
Task 3
- Lab 4: Practicum
- solutions
Task 1
- Lab 5: Inheritance and polymorphism
- solutions:
Cat.java,
Abyssinian.java,
ArrayBag,
ArrayBag Trace,
Inheritance 1
Inheritance 2
- Lab 6: Recursion
- solutions:
Recursive Palindrome,
countN() and other recursive methods,
Recursive Fibonacci,
Recursion Trace,
Recursive Fibonacci
- Lab 7: Recursion and Big O
- solutions:
Task 1,
Task 2,
Task 3
- Lab 8: Sorting
- solutions:
Task 1,
Task 2,
Task 3,
Quicksort Trace
- Lab 9: A first look at linked lists
- solutions:
Task 1-2 1-3
Task 1-4
Task 2-1
Task 2-2
Task 3-1
Task 3-2
- Lab 10: The List ADT
- solutions:
Task 1
Task 2-1, 2-2
Task 2-3, 2-4
Task 3
Lab 11: Stacks and Queues
Last updated on November 12, 2026.