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.

Watch the playlist