Shared Minds

Qihan Jiang | IMNY-UT 293 | Tues 3:40pm to 5:10pm in 370 Jay Street Room 450>Thur 3:40pm to 5:10pm in 370 Jay Street Room 450 Meetings:14
Last updated: October 21, 2026
Show Course Description

This class asks students to think about thinking. Based on first person introspection, meditation and readings in psychology, students will examine the experience of their minds. Then we look at how computation, in particular recent developments in AI, can better work as a medium to capture and share that experience. Class time is evenly divided between conceptual discussions around the psychology of media, looking at student work, and then learning coding skills for the following week. The early course materials direct students towards developing and implementing multi-user web apps to improve our society’s social media ecosystem but final projects often take different directions. 
 
On the technical side, the class gently picks up from any introductory javascript coding class.  Compared to Creative Computing it moves away from the p5.js in favor of vanilla javascript in an environment like Visual Studio Code assisted by AI.  The class encourages students to find a healthy balance of using “vibe coding” while maintaining the ability to specify overall architecture and debug individual lines of code. In particular the technologies covered are Replicate.com’s API’s for Machine Learning Models for generation and relation of text and images, Firebase tools for server based databases, realtime sharing, storage and authentication. Libraries like UMAP for dimension reductions, Three.js for realtime rendering, P5LiveMedia for Audio and Video sharing, and Colab for running python notebooks.

Each week students will post a quick sketch experimenting with the technology as well a short written response to a prompt together with a short reading or video.

Networked Media

Sam Heckle | Syllabus | IMNY-UT 223 | Tues 3:40pm to 5:10pm in 370 Jay St, Room 407>Thur 3:40pm to 5:10pm in 370 Jay St, Room 407 Meetings:14
Last updated: October 21, 2026
Show Course Description

The network is a fundamental medium for interactivity. It makes possible our interaction with machines, data, and, most importantly, other people. Though the base interaction it supports is simple, a client sends a request to a server, which replies; an incredible variety of systems can be and have been built on top of it. An equally impressive body of media theory has also arisen around its use.

This hybrid theory and technology course will be 50% project driven technical work and 50% theory and discussion. The technical work will utilize JavaScript as both a client and server side programming language to build creative systems on the web. Technical topics will include server and client web frameworks, such as Express, HTML, CSS, templating, and databases. The theory portion of the course will include reading and discussion of past and current media theory texts that relate to the networks of today.

**** it is HIGHLY recommended you take Front End Web Development (or have equivalent front end web development experience) to get the most out of this course. We will be going over fundamentals of HTML/CSS but it would be useful to have prior knowledge ***

Prerequisite: Creative Computing or equivalent programming experience.

The Nature of Code: Emergence (Topics in Computation and Data)

Lenin Compres | Syllabus | IMNY-UT 220 | Thur 5:20pm to 8:20pm in 370 Jay St, Room 412 Meetings:14
Last updated: October 21, 2026
Show Course Description

Can we capture the unpredictable evolutionary and emergent properties of nature in software? Can understanding the mathematical principles behind our physical world help us to create digital worlds?  This course covers the first six chapters of Daniel Shiffman’s The Nature of Code, introducing how motion and behavior emerge from simple physical rules. Students will explore randomness, noise, vectors, forces, oscillations, autonomous agents, and particle systems.  Through hands-on coding projects in JavaScript and p5.js, students learn to translate natural forces into digital motion, bridging physics, art, and computation to create lifelike kinetic systems. The course concludes with a look ahead to the book’s later chapters, which move beyond motion into emergent complexity and offer a glimpse of how similar principles give rise to intelligence and self-organization.

Prerequisites: Creative Computing