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 | |