I have taught a wide range of foundational and advanced computer science courses, including data mining, system programming, operating systems, data structures and algorithms, compiler design, discrete mathematics, and introductory programming across various languages.

As the landscape of computing rapidly evolves, my recent teaching efforts are dedicated to redesigning course syllabi to emphasize hands-on AI applications and the core computational infrastructures required to build and scale modern AI systems.

Lecture Notes

Fall 26

System Programming (undergrad course with examples and projects specifically on AI infrastructure)
Compiler Design (undergrad course with AI emphasis: from foundations to AI systems)
High-Performance Programming Techniques for Artificial Intelligence (graduate course)

Previous semesters

Operating Systems, last update: Spring 26
intro to quantum information/computation, Spring 26
System Programming (in Unix, Spring 2025)
Discrete mathematics (for Undergrad computer engineering freshmen, Spring 25)
Introduction to Computer Engineering (Fall 2024)
Compiler Design
Data Structures and Algorithms
Data mining
C Programming
Python Programming
Object oriented programming with Java
Algorithm Design and Analysis (Lecture Notes from 2021-2022)