Schedule

Fall 2026

NoteClass Time and Location
  • When: M/W, 11:00 AM - 12:25 PM
  • Where: Richter Math-Engineering Room 102

Course Schedule

The content below includes what we will be teaching throughout the semester and is subject to change to meet the learning goals of the class. Check this website regularly for the latest schedule and for course materials that will be posted here through links on the syllabus. Please refer to the table for topics, assignments, and readings for each session. Note that:

  • Slides for each session will be posted after class and can be accessed via the links.
  • Description includes but not limited to the topics that will be covered in class.
  • Assignments are due as indicated; late submissions may not be accepted unless prior arrangements are made.
  • Readings include both textbook chapters and selected online resources to supplement the learning process.
  • Important dates such as presentations, exams, and breaks are highlighted for convenience.

The textbook and/or other recommended readings can be found in the Syllabus. Additionally, office hours and contact information for the class instructor are provided in the Instructor page.

Week Date Description Coursework Readings
Module 1: General Introduction
1 Aug 19
[slides]
Course Overview
Getting to Know Each Other
Discussion
Responsibility Quiz
Syllabus
Office Hours
Module 2: Fundamental Algorithms and Data Structures
2 Aug 24
[slides]
Aug 26
[slides]
Recall Object-Oriented Programming
In-class Coding Exercises
Understanding Recursive Functions
The Tower of Hanoi Problem
3 Aug 31
[slides]
Sep 2
[slides]
Introduction to Algorithms
Karatsuba Multiplication
Abstract Data Types (ADT)
Stacks and Queues
4 Sep 7
[slides]
Sep 9
[slides]
Introduction to Computer Memory
Pointers and Memory Allocation
Arrays and Linked Lists
Quiz#1 Handout
5 Sep 14
[slides]
Sep 16
[slides]
Trees and Tree Terminology
Binary Trees and Tree Traversals
Binary Search Trees (BST)
Quiz#2 Handout
6 Sep 21
[slides]
Sep 23
[slides]
Introduction to Hashing
Hash Tables and Hash Functions
Hashing Collisions and Resolution
Quiz#3 Handout
7 Sep 28
[slides]
Sep 30
[slides]
Introduction to Graphs
Graph Representations and Examples
BFS and DFS Traversals
Graphs Coding Exercises
8 Oct 5 Coding Quiz I Closed-Book Quiz On Paper
8 Oct 7 Mid-term Exam I LockDown Browser via Zoom
9 Oct 12 Mid-Semester Break No Class
Module 3: Classic Algorithms for Problem-Solving
9 Oct 14
[slides]
Growth of Functions
Time and Space Complexity
10 Oct 19
[slides]
Oct 21
[slides]
Insertion Sort and Bucket Sort
Merge Sort and Quick Sort
Linear Search and Binary Search
Quiz#4 Handout
11 Oct 26
[slides]
Oct 28
[slides]
Introduction to Divide and Conquer
In-class Coding Exercises
Divide and Conquer Analysis
Quiz#5 Handout
12 Nov 2
[slides]
Nov 4
[slides]
Introduction to Greedy Algorithms
Minimum Spanning Tree
Greedy Algorithms Examples
Quiz#6 Handout
13 Nov 9 Coding Quiz II Closed-Book Quiz On Paper
13 Nov 11 Mid-term Exam II LockDown Browser via Zoom
Module 4: Algorithm Design and Analysis
14 Nov 16
[slides]
Nov 18
[slides]
Modern Algorithm Design Techniques
Student Presentation
Future Directions in Algorithms
Student Presentation
15 Nov 23 Thanksgiving Week Break No Class
15 Nov 25 Thanksgiving Week Break No Class
16 Nov 30
[slides]
Course Evaluation Survey
Final Review and Project Q&A
16 Dec 2 Study Day No Class
17 Dec 7 Final Project Presentation Final Project DUE