View on GitHub

Creative Coding and Generative AI

Winter 2025 - Anastasia Salter

DGAH 220


Contents


Course Description

Generative AI tools such as ChatGPT and GitHub CoPilot are fundamentally reshaping programming practices and workflows, raising questions about the future of code and so-called “prompt engineering,” or writing for the machine. This class will situate this moment of potential transformation in the history of literate programming and “natural language” coding using Inform 7, as well as current tools such as ml5.js, an accessible machine learning library. Students will engage this history and future of computational creativity through writing and re-writing code, both with and without generative AI interventions, for conversational bots, interactive fiction, and experimental games.

The course is divided into three modules: Writing as Code; Code as Text; and Creative Code. Throughout, we will work together on weekly shorter creative coding exercises and build towards three more complicated projects: a parser-based interactive fiction; a text generator; and a portfolio of interactive art.


Course Objectives


Materials and Texts

Required books include:

A subscription to an AI tool (such as Claude or ChatGPT) is recommended but not required: it is likely that some assignments will result in hitting usage caps on free tools, particularly in the second half of the course. Students will need GitHub accounts. Assignments will require the use of Visual Studio Code, GitHub Desktop and/or Git, and Inform 7.


Evaluation and Grading

Points Assignment Summary
30 Creative Code Exercises - Every week, students will complete a creative code exercise, starting from a shared code base or demo and moving towards their own design and implementation.
15 Interactive Fiction - As the final creative exercise of “Writing as Code,” students will design a simple short experience using Inform 7.
15 Text Generator - As the final creative exercise of “Code as Text,” students will build a web-based text generator using JavaScript.
15 Portfolio - As the final creative exercise of “Creative Coding,” students will develop a portfolio of interactive experiments.
15 Final Essay - The final exam will consist of a take-home essay connecting the conceptual readings to the semester’s exercises towards considering the future of creative code.
10 Participation - Participation will be assessed based on attendance and readiness to participate in class activities, including having creative work ready to share at Tuesday meetings as indicated.

Grades are calculated out of 100 following a standard letter scale. Extended projects will be accepted up to three days late with no penalty. Attendance is expected, and worth ten points of the final grade, with two excused absences except in cases of emergency or medical need. However, if you miss a class, a summary of what you missed will be posted along with slides and any other materials in the Moodle.


Weekly Schedule

All readings should be completed before the class meeting as listed. Every class meeting will involve a combination of lecture, discussion, demos, and exercises. Please bring your laptop to follow along and get started on creative exercises.

Week One: Writing as Code - Introducing “Natural Language” - January 7th and 9th

Week Two: Writing as Code - Conversations - January 14th and 16th

Week Three: Writing as Code - Interactive Fiction - January 21st and 23rd

Week Four: Code as Writing - Histories - January 28th and 30th

Week Five: Code as Writing - Bots - February 4th and 6th

Week Six: Code as Writing - Poetics - February 11th and 13th

Week Seven: Creative Code - Games - February 18th and 20th

Week Eight: Creative Code - Vision - February 25th and 27th

Week Nine: Creative Code - Interfaces - March 4th and 6th

Week Ten: Play and Critique - March 11th

Take-Home Final Exam: Reflective Writing - Due Monday, March 17th at 5PM!