The dual abilities to critique and author processes comprise together a key literacy—human-authored computational processes are implicated in nearly every social space and interaction, and it is vital to understand these processes at a deep level and, sometimes, to circumvent or subvert them.
Computer science pedagogy plays a central role in preparing students to recognize and critique computational systems, in addition to its traditional role in teaching students to design and implement new computational systems (an important creative and technological pursuit on its own).

My fine arts background in game design complements my training in computer science.
In my teaching, this manifests as the ability to teach both analog and digital game design courses as a special domain for critiquing and authoring processes: games, like computational systems, are artificial worlds based on particular world-views.
Likewise, my computer science courses are taught with an analytical frame to give students room to learn the subtle and often beautiful connections between different aspects of computer science, and even to play with key concepts.

My research connects these two interests—human interaction and computer science—with the hope that it will make both more accessible to non-specialist programmers.
I also run the FAIM Lab to bring together students and faculty with an interest in the analysis and creation of interactive media.