Descriptions are only provided once for repeated courses.
-
Advanced Topics in Interactive Audio
Worcester Polytechnic Institute, Fall (A-term) 2023
This course discussed sound synthesis, procedural music generation, and audio spatialzation, primarily in Unreal Engine 5.
-
Webware
Worcester Polytechnic Institute, Fall (A-term) 2023
A 100+ person class covering web development. Specific topics included accessibility, design, JavaScript language features, server development, and database integration. Students complete a variety of individual and group assignments over the course.
course website -
Technical Game Development II
Worcester Polytechnic Institute, Spring (D-term) 2023
A twenty-eight person class covering the basics of C++ in Unreal and Blueprints development. Students were paired with modelers and animators to create a game over the seven week class.
-
Webware
Worcester Polytechnic Institute, Fall (A-term) 2022
course website -
Special Topics: Live Coding & Creative Practice
Worcester Polytechnic Institute, Fall 2022
An eight person graduate seminar on live coding. We provided students with introductory tutorials and readings which were discussed in class; students then completed group final projects consisting of performances or environment development. Co-taught with Gillian Smith.
-
Tangible & Embodied interaction
Worcester Polytechnic Institute, Fall 2022
A eighteen person graduate course covering the basics of human-computer interaction with special emphases on physical computing, interaction in the digital arts, and interaction with game engines.
course website -
Graphical Simulation of Physical System
Worcester Polytechnic Institute, Spring 2022
A twenty-person undergraduate where students explore artifical life, learn how to run accelerated simulations on the GPU, and create aesthetic representations of their simulations after studying various artistic movements involving abstract animation.
course website -
Webware
Worcester Polytechnic Institute, Fall (A-term) 2021
100 students. course website -
Technical Game Development II
Worcester Polytechnic Institute, Spring (D-term) 2023
18 students. -
Tangible & Embodied interaction
Worcester Polytechnic Institute, Fall 2022
12 students. course website -
Webware
Worcester Polytechnic Institute, Fall (A-term) 2021
105 students. course website -
Technical Game Development II
Worcester Polytechnic Institute, Spring (D-term) 2021
12 students. -
Graphical Simulation of Physical System
Worcester Polytechnic Institute, Spring (C-term) 2021
12 students. course website -
Webware
Worcester Polytechnic Institute, Fall (A-term) 2020
100 students. course website -
Technical Game Development II
Worcester Polytechnic Institute, Spring (D-term) 2020
12 students. -
Immersive Human-Computer Interaction
Worcester Polytechnic Institute, Spring 2019
A twenty-six student graduate course covering the basics of human-computer interaction with special emphases on virtual reality, augmented reality, and the biases found in these disciplines.
course website -
Human Computer Interaction
Worcester Polytechnic Institute, Fall 2018
A sixty-student undergraduate course covering topics related to prototyping, user testing, and user interface design.
-
Aesthetics & Computation
Rochester Institute of Technology, Spring 2016/2017/2018
A mixed graduate / undergraduate seminar focusing on applications of generative algorithms to digital art, electronic music, and games. Technical topics discussed included WebGL, GLSL, and the Web Audio API.
-
Web Design and Implementation
Rochester Institute of Technology, Fall 2016
An undergraduate course covering principles of HTML, CSS, and JavaScript use in addition to information architecture and basic graphic design principles.
-
Interaction, Immersion, & the Media Interface
Rochester Institute of Technology, Fall 2015
An undergraduate course examining basic principles of HCI, graphic design, information architecture, and usability testing.
-
Algorithmic Composition and Sound Synthesis
UC Santa Barbara, Spring 2015
A mixed graduate / undergraduate course looking at algorithms for musical composition and live performance, with a particular emphasis on live coding. For their final projects, all students in the class performed in the first Algorave ever held in the US.
Video documentation of the Santa Barbara Algorave -
Mobile Devices and Artistic Practice
UC Santa Barbara, Spring 2011
A graduate course focusing on the development of musical and artistic applications for mobile devices , primarily running under iOS. The final projects for the class were posted to the App Store; four of them were selected as New and Noteworthy apps by Apple. Two projects of particular note were: -
Technology and Performance
UC Santa Barbara, Winter 2009
This was an upper-division undergraduate course given in the College of Creative Studies, a small, non-traditional, interdisciplinary college at UC Santa Barbara with an extremely competitive admission policy. The course content looked at different styles of live performance, both from popular music and the electroacoustic tradition, as well as various music technologies that students could use in their own performance practice. Two concerts were given in which students performed either solo or in groups according to preference.
syllabus -
Introduction to Computer Programming
UC Santa Barbara, Summer 2008
This was a lower-division undergraduate course in the Computer Science department at UCSB. It had previously been taught solely using command line input and output; however, I changed the course content to focus on graphics, interaction, and application development. I used the Processing environment to introduce Java and basic programming concepts to students and gradually transitioned to command line and IDE development. Assignments for the class included a poetry generator, an abstract animation, a simple video game, and a complete GUI-based data application developed using the NetBeans IDE.
syllabus -
Topical Seminar: Flash Media Server
Columbia University, Winter 2006
This was a graduate course taught at Teachers College, Columbia University on the use of realtime communication technologies in education. Topics included back-channel communication during lectures, distance education, and the implications of streaming media on teaching. Students were expected to complete a simple project using the Flash Media Server by the end of the course.
syllabus -
Interactivity & Screen Design
Expression College, 2002-2004
A course on beginning JavaScript and ActionScript programming for undergraduate graphic design students.
-
Advanced Scripting & Databases
Expression College, 2002-2003
I designed and taught this course on creating games in Flash that interfaced with MySQL databases.
-
Motion Graphics & Sound
Expression College, 2002
I designed and taught this course on sound design for motion graphics. Final projects for students were created using Adobe Flash and After Effects.
-
Sound for the Web
Expression College, 2001
I designed and taught this undergraduate course on using sound in the browser, with a heavy emphasis placed on live streaming of concert performances.
Note that the classes below were taught at Expression College, a for-profit institution that has since become SAE Expression College after being purchased.