I’m an award-winning senior lecturer in the School of Interactive Games and Media at the Rochester Institute of Technology. I teach introductory programming and real-time graphics programming for games. When I’m not teaching graphics, I’m probably thinking about graphics (or playing Dungeons & Dragons).
Projects
Teaching
My exact teaching schedule varies from year to year, but I generally teach the following courses.
Game Development and Algorithmic Problem Solving 1 & 2
A two-course introductory programming sequence for Game Design & Development students. These courses use C# to teach the fundamentals of programming, data structures and algorithms. As part of the second course, students learn the MonoGame framework and create a game of their own design in small teams throughout the semester.
Foundations of Game Graphics Programming
Students learn the basics of GPUs, graphics APIs and rasterization-based pipelines using Direct3D 11. Topics and corresponding assignments include basic lighting, PBR lighting, texturing, normal mapping, sky boxes, shadow mapping and post processing.
Game Graphics Programming 2
This course continues the topics started in Foundations of Game Graphics Programming. It begins with a deep dive into a modern graphics API, Direct3D 12, and then covers offline and real-time ray tracing (DXR), advanced post processing, particle systems, compute shaders and more.