New Visible Java: a free online camp for AP CS A teachers, November–December 2026. Learn more →

CC Fest · October 17, 2026

Opening keynote

← The whole gathering

Why keep making?

Daniel Shiffman opened CC Fest’s tenth anniversary by taking on the question he said he had been avoiding: if AI can write the code, why learn to write it? He framed his answer as a reflection on what he values in the creative coding community rather than a demonstration, and admitted he had put the talk together that morning.

He began with Allison Parrish’s essay “Language Models Can Only Write Ransom Notes.” Using Parrish’s collage metaphor, he asked what disappears when the sources and processes behind a work are hidden. Shiffman contrasted that with the collage he sees in open source creative coding, where people share sketches, tutorials and remixes and the seams stay visible. CC Fest, which he hosted at ITP in its early years, was his example of that second kind of collage: people figuring out code together with a laptop and a question. He also wrote a short sketch about whether to count the anniversary as ten or eleven, since code counts from zero.

Drawing on Mitch Resnick’s argument that coding is like writing, a way to think and find a voice, Shiffman recast the question as whether we want AI to do the thinking for us. He placed creative coding in a longer history of rule-based making, from Islamic geometric tilings to Inca quipu and Guna molas, and described how teaching a little physical computing to first-year students reminded him of the joy of a first working LED. Code, he argued, is a material too, and Parrish and Seymour Papert both point to sustained attention to that material as the source of meaningful work.

He named three things he would not want to lose to prompting: mistakes, exploration and slowness. A looping “whoops” video stood in for mistakes. Daily sketching practices by Zach Lieberman and others illustrated exploration, and his habit of writing one line, running it and then writing the next illustrated slowness. All three happen in the middle of a process, which he described as the part that is tedious and also the creative part. He added that AI can still be an interesting material to open up and critique, citing Maya Man’s work, and said he plans to explore that in a spring course. The session ended with a quick participatory p5.js collage that attendees contributed to live.

Three takeaways

  • Ask what the learner should be doing, not only what the tool can do. Shiffman’s reframe of “why learn to code?” as “do you want AI to do the thinking for you?” gives teachers a question to bring to students (00:15:01–00:16:20).
  • Start with analog instructions. His opening exercise has students draw something, write instructions for it, and swap with a classmate to see what gets lost in translation (00:18:17–00:19:15).
  • Protect the middle of the process. Mistakes, exploration and slowness are where style and understanding form; the tedious work “is the creative part” (00:21:37–00:27:00).

Try it

Editorial suggestion, adapted from Shiffman’s classroom opener: draw a simple picture in one minute, write instructions for it without showing the drawing, and hand the instructions to a partner. Compare the two drawings, then translate the clearer instructions into five lines of p5.js and run them one line at a time.

Watch and explore

Replay: Watch on YouTube

Links shared in the session chat:

About the presenter

Portrait of Daniel Shiffman

Daniel Shiffman

Daniel Shiffman is on a mission to share code with the world in an approachable, engaging way. He runs The Coding Train, a community for learning creative coding through beginner-friendly tutorials and coding challenges on YouTube. He is an Associate Arts Professor at ITP, NYU Tisch School of the Arts, a co-founder of the Processing Foundation, and the author of Learning Processing and The Nature of Code, an open-source book on simulating natural systems with code.

Presenter website ↗

One gathering, many ways in

Find your next question.

Explore all 19 sessions →