teaching

Portfolio of courses taught.

ECE406: Algorithm Design and Analysis

(Winter 2025, Winter 2024)

Design and analysis of efficient, correct algorithms. Advanced data structures, divide and conquer algorithms, recurrences, greedy algorithms, dynamic programming, graph algorithms, search and backtrack, inherently hard and unsolvable problems, approximation and randomized algorithms, and amortized analysis.

CSC384: Introduction to Artificial Intelligence

(Winter 2022 at University of Toronto)

Broad introduction to the foundational concepts of AI. Search algorithms, complexity analysis, constraint satisfaction, knowledge representation, probability and uncertainty, graphical models, games.