CMPT 225 - Data Structures and Programming - Fall 2026

Course Information Syllabus Lectures Assignments Exams


Lab 08 - November 3
AVL Trees
Week 09 - November 3-5
Self Balancing Binary Search Trees
- AVL Trees
- 2-3 Trees
- B-Trees
Priority queues
Heaps
No lab this week
Week 08 - October 27-29
Midterm Exam - October 27

AVL Trees
Lab 07 - October 20
Binary Search Trees
Week 07 - October 20-22
Binary Search Trees
Reviewing Master Theorem
Lab 06 - October 13
Converting recursion to iteration
Binary trees
Week 06 - October 13-15
Trees
Binary trees
Tree traversals
Lab 05 - October 6
Measuring performance of algorithms
Week 05 - October 6-8
Big-O notation
Master Theorem
Faster Integer Multiplication
Megre Sort
Megre Sort - iterative implementation
Lab 04 - September 29
Comparable Interface
Streams
Linked List
Stacks
Week 04 - September 29-October 1
Basic Data Structures:
- Linked Lists
- Doubly Linked Lists
- Stacks
- Queues
Execution stack
A comment on recursion
Lab 03 - September 22
Learning Java
- .equals vs ==
- Interfaces
- Comparable Interface: compareTo()
- Generics
- Using command line arguments
Week 03 - September 22-24
Basics of Java:
- Static variables and methods
- getClass() and instanceof
- .equals() vs '==' operator
- .clone() method
- Comparable interface
Streams in Java
File I/O
Exceptions
Coding style conventions
Design patterns:
- Singleton
- Factory
- Builder
Lab 02 - September 15
Compiling Java
Basic examples
- Hello World
- Compiling several files
- Using command line arguments
Week 02 - September 15-17
Basic OOP:
- Classes
- Inheritance
- Access modifiers: public, protected, no modifier, private
- Interfaces
- Abstract Classes
Objects, Reference Variables, and Memory Model
Arrays in Java
Iterators
.equals() vs '==' operator
Using Generics
Using command line arguments
There is no lab in the first week
Week 01 - Septeber 10
General Information
Introduction to Java