Teaching

Open Course Materials

Introduction to Programming for Non-Majors: A Computational Media Approach
This resource includes suggested readings, skills labs, infrastructure for supporting project-based learning in an introductory programming course, course activities, and ungrading reflection prompt examples.

Novel Interfaces for Interactive Environments
This resource includes comprehensive design activities that pair theory and practice for students studying the relationship between interface design, emerging technologies, and experience design. It also includes ungrading reflection prompt examples for a design course.

Artificial Intelligence for Interactive Media and Games
This resource includes suggested readings, activities, mini-projects, and term project infrastructure for an AI for IMGD course that supports both programming and design students. It also includes ungrading reflection prompt examples.

Ethics of Generative AI
Reading list, course discussion prompts, and ungrading reflection books. Also includes some guidance for critical design projects for a multidisciplinary classroom.

Ungrading: A Practical Guide to Assessment with Self-Reflection and Self-Evaluation
Coming soon!

Course Listings

2023-D: Ethics of Creative AI (IMGD 4099)
Critical design course, in which students read about and design to explore ethical and social ramifications of 2022/23-era generative AI tools (e.g. GPT-3.5, GPT-4, DALL-E). Self-evaluated, project-based.

2023-C: Novel Interfaces for Interactive Environments (IMGD 3100)
Individual mini-projects followed by a small group project, students in this course explore the different ways interfaces and playable media are co-constrained. Self-evaluated, project-based.

2023-C: Introduction to Programming for Non-Majors (CS 1004)
Teaches introductory programming concepts; accessible to all students, primarily uses the context of media arts in class and lab. Self-evaluated, project-based.

2022-Fall: Livecoding and Creative Practice (IMGD 5099)

2022-D: Interactive Storytelling for Interactive Media and Games (IMGD 1002)

2022-C: Introduction to Programming for Non-Majors (CS 1004)
Repeat of 2021 offering, with in-person/hybrid components.

2021-B: AI for Interactive Media and Game Development (IMGD/CS 4100)
Self-reflection and self-evaluation; students can choose their own project pathways through the course.

2021-C: Novel Interfaces for Interactive Environments (IMGD 3100)
Self-reflection and self-evaluation for ungrading; students complete three individual design projects and a term project.

2021-C: Introduction to Programming for Non-Majors (CS 1004)
Self-reflection and self-evaluation-based ungrading, project-based approach to CS1 using Python mode in Processing.

2020-Fall: Generative Design Seminar

2019-B: AI for Interactive Media and Games (IMGD/CS 4100)

2019-Fall: Game Design Studio (IMGD 5000)

2018-B: Novel Interface Design (IMGD 3100)

2018-Fall: Computational Creativity & Procedural Content Generation (IMGD 5099/CS 525)

2018-C/Spring: Serious Games (IMGD 4600/5099)

2017-B: AI for Interactive Media and Games (IMGD/CS 4100)

Taught at Northeastern University

2017-Spring: Games and Social Justice

2017-Spring: Introduction to Game Research Methods

2015-Spring: Game Programming

2014-Fall: Game Artificial Intelligence

2013-Fall: Game Artificial Intelligence

2013-Fall: Rapid Idea Prototyping for Games

2013-Spring: Computer Graphics

2012-Fall: Foundations of Artificial Intelligence