This course covers game design and development. Students implement a simple 2D game engine, and then use this engine to design and develop a fully-playable game, culminating in an end-of-the-year expo.
This course covers artificial intelligence techniques including expert systems, pathfinding, markov models, reinforcement learning, and machine learning.
This course covers the basics of algorithm design and analysis. My version of the course stresses both theoretical rigor (written proofs and the like) as well as implementation (through programming assignments).
This course summarizes the important concepts in Human-Computer Interaction with a focus on a software engineering approach to designing usable systems. I will put more information regarding the course here later.
The purpose of this seminar is to introduce students to the breadth of computer science research. Weekly talks from various faculty members introduce both the classic core areas of CS as well as the emerging edge fields.
This course covers the basics of representation across multiple layers of abstraction within computing environments. Additionally, students learn about various data structures, their strengths and weaknesses, and how to implement each.
Our take on CS1, involving the instruction of Python through game design. Students learn basic Python coding and implement simple games. The projects are presented at the end-of-year expo along with the CS4730 games.
A student-taught course that emphasizes coding skills and common interview techniques and strategies. Weekly work sessions involve practice interview problems and discussion.
I have had the pleasure of teaching at multiple schools including the University of Massachusetts, Amherst and Mt. Holyoke College. For details regarding my teaching experience, check out my CV.