Skip to main content
You can >watch recordings of the Fall 2023 lecture videos online.

You can >watch recordings of the Spring 2024 lecture videos online.

You can >watch recordings of the Fall 2024 lecture videos online.

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
Wed, Sep 4, 2024 Lecture 1
Java Review [slides]
Lab00 - Command Line, Unix, Vim
Lab01 - Exceptions & I/O (Due Fri, Sep 13, 2024)
HW00 - Arrays & Classes (Due Fri, Sep 13, 2024)
Mon, Sep 9, 2024 Lecture 2
Inheritence
OOP [slides]
Wed, Sep 11, 2024 Lecture 3
Arrays
Generics [slides]
Lab02 - Inheritance, ExpandableArray (Due Fri, Sep 20, 2024)
HW01 - ExpandableArray & Inheritance (Due Fri, Sep 20, 2024)
Mon, Sep 16, 2024 Lecture 4
LinkedList [slides]
Wed, Sep 18, 2024 Lecture 5
FancyLinkedList [slides]
Lab03 - LinkedLists (Due Fri, Oct 4, 2024)
HW02 - LinkedLists (Due Fri, Oct 4, 2024)
Mon, Sep 23, 2024 Lecture 6
No Class. [slides]
Wed, Sep 25, 2024 Lecture 7
Interfaces
Object Comparison
Algorithmic Analysis [slides]
Lab04 - Interfaces (Due Fri, Oct 4, 2024)
Mon, Sep 30, 2024 Lecture 8
Stacks
Checkstyle
Junit [slides]
Wed, Oct 2, 2024 Lecture 9
Implementing Stacks
Queues [slides]
Lab05 - Stacks (Due Fri, Oct 11, 2024)
HW03 - Stacks & Queues (Due Fri, Oct 11, 2024)
Mon, Oct 7, 2024 Lecture 10
Dequeues [slides]
Wed, Oct 9, 2024 Lecture 11
Lists
Iterators
Binary Search [slides]
Lab06 - Iterators & ArrayList (Due Sun, Oct 20, 2024)
HW04 - Binary Search (Due Sun, Oct 20, 2024)
Mon, Oct 14, 2024 Fall Break
No Class
Wed, Oct 16, 2024 Fall Break
No Class
Mon, Oct 21, 2024 Lecture 12
Trees [slides]
Wed, Oct 23, 2024 Lecture 13
Tree Traversals [slides]
Lab07 - Binary Trees (Due Sun, Nov 3, 2024)
HW05 - Binary Trees (Due Sun, Nov 3, 2024)
Mon, Oct 28, 2024 Lecture 14
Midterm Review [slides]
Wed, Oct 30, 2024 Midterm
No Lab
No Homework

Part II

Date Topic Assignment
Mon, Nov 4, 2024 Lecture 15
Heaps [slides]
Wed, Nov 6, 2024 Lecture 16
Heaps
Priority Queues [slides]
Lab08 - Array based Binary Trees & Heaps (Due Sun, Nov 17, 2024)
HW06 - Heaps (Due Sun, Nov 17, 2024)
Mon, Nov 11, 2024 Lecture 17
Maps [slides]
Wed, Nov 13, 2024 Lecture 18
HashMaps I [slides]
No Lab
No Homework
Mon, Nov 18, 2024 Lecture 19
HashMaps II
Handling Collisions [slides]
Wed, Nov 20, 2024 Lecture 20
HashMaps III
[slides]
Lab09 - HashMaps (Due Sun, Dec 1, 2024)
HW07 - Hash Tables (Due Sun, Dec 1, 2024)
Mon, Nov 25, 2024 Lecture 21
Merge Sort
Quick Sort
Wed, Nov 27, 2024 Lecture 22
AVL Trees I
Lab10 - AVL Trees (Due Fri, Dec 6, 2024)
No Homework
Mon, Dec 2, 2024 Lecture 23
AVL Trees II
Wed, Dec 4, 2024 Lecture 24
Splay Trees
No Lab
HW08 - AVL Trees (Due Fri, Dec 13, 2024)
Mon, Dec 9, 2024 Lecture 25
Graphs
Wed, Dec 11, 2024 Lecture 26
Midterm Review
Lab 11 - Graphs (Due Fri, Dec 20, 2024)
No Homework