Artificial intelligence · Data science · Computer science
Learning through concepts, code, and experimentation
I teach courses in artificial intelligence, reinforcement learning, data mining, and computer science, with an emphasis on connecting foundational ideas to practical implementations and reproducible experiments.
Current courses — Fall 2026
CS 5/7320 · Lyle School of Engineering
Artificial Intelligence
Course materials, examples, and exercises are available on the course website.
CS 5/7329 · Lyle School of Engineering
Reinforcement Learning
Course materials, examples, and exercises are available on the course website.
Teaching resources
Open lecture materials, code examples, exercises, and small teaching tools used in my classes.
Python · Course materials
Artificial Intelligence
Slides, compact code examples, and exercises for an introduction to AI using Russell and Norvig's Artificial Intelligence: A Modern Approach.
Python · Course materials
Reinforcement Learning
Slides, code examples, and exercises for an introductory course in reinforcement learning.
R · Book companion
Data Mining
R examples accompanying Introduction to Data Mining by Tan, Steinbach, Karpatne, and Kumar.
C++ · Code examples
Data Structures
Code for an introductory data-structures course using Mark Allen Weiss's Data Structures and Algorithm Analysis in C++.
Python · Reinforcement learning
gym-classics2
Classic discrete finite Markov decision processes and algorithms for teaching reinforcement learning.
R · C++ · Small tools
Additional examples
Tools for fitting distributions and Gridhunt2, a game for teaching encapsulation, composition, inheritance, and polymorphism.
Video lectures
Introduction to R Programming
A video series covering the foundations of programming and data analysis with R.
Here is the lecture material, code examples, and data.