Skip to main content
You can >watch recordings of the Spring 2026 lecture videos online.

You can also access older recordings: Fall 2024, Spring 2024, Spring 2025, Fall 2025 Recordings are saved on Panopto and require a BMC/HC login.

The lecture schedule will be updated as the term progresses.

Pre-course

Make sure you are registered for the course Gradescope and Piazza.

Please complete Lab00 before the first lab meeting.

Part I

Date Topic Assignment
Tue, Sep 1, 2026 Lecture 1
Java Review [slides]
Lab00 - Command Line, Unix, Vim
Thu, Sep 3, 2026 Lecture 2
Java Reivew II [slides]
Lab01 - Exceptions & I/O (Due Tue, Sep 8, 2026)
HW00 - Arrays & Classes (Due Fri, Sep 11, 2026)
Tue, Sep 8, 2026 Lecture 3
Runtime Analysis
Arrays [slides]
Thu, Sep 10, 2026 Lecture 4
Arrays II
Generics
Nested Classes [slides]
Lab02 - Inheritance, ExpandableArray (Due Tue, Sep 15, 2026)
HW01 - ExpandableArray & Inheritance (Due Fri, Sep 18, 2026)
Tue, Sep 15, 2026 Lecture 5
LinkedList [slides]
Thu, Sep 17, 2026 Lecture 6
Doubly Linked Lists [slides]
⚠️ Quiz 1 - Exceptions and Inheritance
Lab03 - LinkedLists (Due Thu, Sep 24, 2026)
HW02 - LinkedLists (Due Fri, Oct 2, 2026)
Tue, Sep 22, 2026 Lecture 7
Interfaces
Object Comparison [slides]
Thu, Sep 24, 2026 Lecture 8
Stacks
Checkstyle
Junit [slides]
⚠️ Quiz 2 - LinkedLists and Arrays
Lab04 - Interfaces (Due Tue, Sep 29, 2026)
Tue, Sep 29, 2026 Lecture 9
Implementing Stacks
Queues [slides]
Thu, Oct 1, 2026 Lecture 10
Stack Review
Queues [slides]
⚠️ Quiz 3 - Interfaces
Lab05 - Stacks (Due Thu, Oct 8, 2026)
HW03 - Stacks & Queues (Due Fri, Oct 9, 2026)
Tue, Oct 6, 2026 Lecture 11
Queue Review
Binary Search [slides]
Thu, Oct 8, 2026 Lecture 12
Trees [slides]
⚠️ Quiz 4 - Stacks and Queues
Lab06 - Iterators & ArrayList (Due Mon, Oct 19, 2026)
HW04 - Binary Search (Due Mon, Oct 19, 2026)
Tue, Oct 13, 2026 Fall Break. No Class
Thu, Oct 15, 2026 Fall Break. No Class
Tue, Oct 20, 2026 Lecture 13
Midterm Review [slides]
Thu, Oct 22, 2026 Midterm
⚠️ Midterm: programming portion

Part II

Date Topic Assignment
Tue, Oct 27, 2026 Lecture 14
Tree Review
Heaps
Thu, Oct 29, 2026 Lecture 15
Heaps II
Lab07 - Binary Trees (Due Tue, Nov 3, 2026)
HW05 - Binary Trees (Due Fri, Nov 6, 2026)
Tue, Nov 3, 2026 Lecture 16
Priority Queues
Thu, Nov 5, 2026 Lecture 17
Maps
HashMaps
⚠️ Quiz 5 - Binary trees
Lab08 - Array based Binary Trees & Heaps (Due Tue, Nov 10, 2026)
HW06 - Heaps (Due Fri, Nov 13, 2026)
Tue, Nov 10, 2026 Lecture 18
HashMaps II
Handling Collisions
Thu, Nov 12, 2026 Lecture 19
Merge Sort
⚠️ Quiz 6 - Heaps
Lab09 - HashMaps (Due Tue, Nov 17, 2026)
HW07 - Hash Tables (Due Fri, Nov 20, 2026)
Tue, Nov 17, 2026 Lecture 20
Quick Sort
Thu, Nov 19, 2026 Lecture 21
AVL Trees
⚠️ Quiz 7 - Hash Tables
Lab 10 - AVL Trees (Due Tue, Dec 1, 2026)
HW08 - AVL Trees (Due Fri, Dec 4, 2026)
Tue, Nov 24, 2026 Lecture 22
AVL Trees II
Thu, Nov 26, 2026 Thanksgiving break. No class.
Tue, Dec 1, 2026 Lecture 23
Union Find
Thu, Dec 3, 2026 Lecture 24
Graphs
⚠️ Quiz 8 - Sorting and AVL Trees
Lab 11 - Graphs (Due Fri, May 1, 2026)
No Homework
Tue, Dec 8, 2026 Final Review
Thu, Dec 10, 2026 Final Review