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
Wed, Nov 6, 2024 Lecture 16
Heaps
Priority Queues
Lab08 - Array based Binary Trees & Heaps (Due Fri, Nov 15, 2024)
HW06 - Heaps (Due Fri, Nov 15, 2024)
Mon, Nov 11, 2024 Lecture 17
Maps
Wed, Nov 13, 2024 Lecture 18
Maps
No Lab
No Homework
Mon, Nov 18, 2024 Lecture 19
Hash Tables
Wed, Nov 20, 2024 Lecture 20
Hash Tables
Lab09 - HashMaps (Due Fri, Nov 29, 2024)
HW07 - Hash Tables (Due Fri, Nov 29, 2024)
Mon, Nov 25, 2024 Lecture 21
Merge Sort
Quick Sort
Wed, Nov 27, 2024 Lecture 22
Merge Sort, Quick Sort
Balanced Search Trees, AVL Trees
Lab10 - AVL Trees (Due Fri, Dec 6, 2024)
No Homework
Mon, Dec 2, 2024 Lecture 23
Balanced Trees
Wed, Dec 4, 2024 Lecture 24
Splay Trees
Graphs
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 10 - Graphs (Due Fri, Dec 20, 2024)
No Homework