Teaching

At Purdue University, I teach courses spanning programming, software development, artificial intelligence, machine learning, and cybersecurity. My teaching emphasizes hands-on problem solving, conceptual understanding, and connecting foundational computing concepts with practical applications.

Current & Recent Courses

CNIT 57200 · Artificial Intelligence Applications in Cybersecurity

A graduate course exploring the application of artificial intelligence and machine learning techniques to cybersecurity problems.

CNIT 10500 · Introduction to C Programming

An introductory programming course covering fundamental problem solving and programming concepts using the C language.

CNIT 15501 · Introduction to Software Development Concepts

An introductory software development course using Python, with an emphasis on programming fundamentals, problem solving, and hands-on development.

CNIT 17500 · Visual Programming

An introductory course focused on programming concepts and application development through visual programming environments.

Graduate & Special Topics

TECH 69000-096 · Applied Machine Learning

Graduate-level study of machine learning methods and their application to real-world problems.

TECH 69000-080 · Applied Deep Learning

Graduate-level study of deep learning methods, neural networks, and practical applications.

Selected Teaching History

TermCourses
Fall 2026CNIT 10500 · CNIT 15501 · CNIT 17500 · CNIT 57200
Summer 2026CNIT 57200
Fall 2025CNIT 10500 · CNIT 15501 · CNIT 17500
2023–2024CNIT 10500 · CNIT 15501 · CNIT 17500
Fall 2022CNIT 10500 · CNIT 15501 · CNIT 17500
Spring 2022CNIT 10500 · CNIT 15501 · TECH 69000-080 Applied Deep Learning
Fall 2021CNIT 10500 · CNIT 15501 · TECH 69000-096 Applied Machine Learning

Course offerings vary by semester.