This page contains notes from some of the sessions run at CC Fests in the past. Enjoy, share, and give feedback. You can click on the name of the session leader to email them.
Tell a unique story of a location with artistic maps made in Python. Using geospatial data, this session will teach the building blocks of machine learning in a fun and creative way- data visualization.
Documentation: Google Slides
Experience Level: Intermediate
Visualize it!
by Kyle James
Never written a line of code before? Not a problem. Come learn the basics and be creating digital art in under an hour.
Documentation: Github
Experience Level: Beginner
Intro to p5.js
by Jeff Olson
Take your selfie to the next level with computational portraits! This workshop will teach you how to build animated portraits in p5.js. You'll learn to upload images and use pixel data to make creative, dynamic portraits with code.
Documentation: Peblio
Experience Level: Beginner
Computational Portraits in p5.js
by Esther Hersh
EarSketch helps you learn coding through music. Use sounds from the EarSketch library or your own sounds, along with Python or JavaScript code, to produce studio quality music.
Documentation: Website
Experience Level: Beginner
Exploring Earsketch
by Joshua Hans
Examining and deconstructing the behaviors of chaotic maps in visual form. These maps are expressions that vary in behavior. Let's decode these expressions to see them as living creatures.
Documentation: Codepen
Experience Level: Experienced
The Art of Mathematical Expressions
by Aziz Ramos
We will look at several different coding projects that use AI as a tool to make music. We will also use music as an entry point to discuss how AI works, different types of AI/ML models and logistical/ethical issues that arise when working with music and AI.
Documentation: Google Docs
Experience: Intermediate
Making Music with AI, Understanding AI through Music
by Liam Baum
Make Emojis with your Arduino Board. We will learn how to modify pre-written code in C++ and make our own Emojis with an 8x8 LED Matrix.
Documentation: Website
Experience Level: Beginner
Fun with Arduinos and LED Matrix
by Greg Beutler
An AP Java course that uses Processing and Github.
Documentation: Github website
Experience level: Beginner/Intermediate
APCS @ Lowell High School
by Art Simon
Ask not what Scratch can do for you, but what you can do with Scratch. Meet us at the intersection of music technology and computer science with this beat making workshop. Wildwood School Technology Coach, Nicholas Smith, will lead participants in building their own digital sampling machines with Scratch programming. Build a digital machine like the legendary Akai MPC that loads, manipulates, and plays back sound recordings using your computer's keyboard. This workshop is suitable for beginner to advanced Scratch users with plenty of room for innovation and creativity.
Documentation: Google Sites
Experience Level: Beginner
Beats from Scratch : Building a Digital Sampling Machine with Scratch
We'll be using p5.js and loops to recreate a Greek temple, a Greek vase, and more! If you're interested in integrating art history and coding or leveling up your p5.js sketches with loops, this session is for you! (Beginner-friendly.)
Documentation: Google Doc
Experience Level: Beginner
Art History + p5.js
Build a creative meme generator and learn how to teach arrays in this meme generator workshop. We'll work through this project from the CS4ALL p5.js curriculum together and use arrays to create memes with random images and quotes.
Documentation: Peblio
Experience Level: Intermedaite
Teaching Arrays with Meme Generators
In this workshop we will be exploring Machine Learning algorithms using p5.js and ml5.js. We will be experimenting with generative concrete poetry. You will learn how to use pre-trained models running on your web-browser, exploring object detection and natural language processing.
Documentation: Github
Experience Level: Intermediate
Making Concrete Poetry with Machine Learning and ml5.js
by Radamés Ajna
Make your p5 artwork come alive by building out ways for users to interact with your creations! This is the ideal next step for students who have already attended an introductory p5.js workshop on shapes and colors.
Documentation: Glitch
Experience Level: Beginner
User Interaction with p5.js
by Taylor Want
In this workshop we will be engaging in creative coding with p5.js. Branching off from the Sound Unit designed by the Software Engineering Program (CS4ALL), we will focus on engaging in representing sounds visually via multiple forms of interactivity.
Documentation: Peblio
Experience Level: Beginner
Interactive Sonic Art with p5.js
Learn how to create animations and games in your classroom with the Wick Editor! We'll teach you the basics of the Wick Editor, create an animation together, and see some examples of how students and educators have used the Wick Editor in their classrooms. No Experience Required!
Documentation: Wick Editor
Experience Level: Beginner
Makes Games and Animation with Wick Editor
by Luca Damasco
The goal is to explore ideas how to make the P5 canvas respond to mouse movement. The session will walk though building a P5 sketch containing a grid of squares. The size of each square will respond to the mouse movement on the canvas. If there is time, the color of the squares will also respond to the mouse movement.
Documentation: GDocs
Experience Level: Beginner
Interactive Canvas
I will walk through those new to processing... how to setup processing with Sublime Text 3... and discuss best practices for folder structure... data folder and external assets and secrets to working with color.
Documentation: Patreon
Experience Level: Beginner
Processing + Sublime Text 3 + data + color
by Joshua Davis
This workshop dissects the way your brain becomes creative, breaking it down into four main stages (preparation, incubation, inspiration, production) as participants create something interesting and unique using code. The focus is on a "creative mindset" - what does that mean, and how can we get there?
Document: GDocs
Experience Level: Beginner
Let Go & Play: Code + Creativity + Your Brain
Virtual reality is one of the fastest growing fields of technology and is changing the way that we experience the world. Join us to have the opportunity to build your own 3D virtual reality environment using the A-Frame Javascript Library. Our instructors will show you how to build, animate, and modify interactive shapes and structures, and by the end you'll have created your own virtual reality world! (Taylor)
Hands on workshop on how to create WebVR applications using A-Frame (an easy to use and open source virtual reality web framework). Participants will work on a live coding project using A-Frame to learn the basics. (Celeste)
Documentation: Glitch (Taylor) GDocs and Github (Celeste)
Experience Level: Beginner (Taylor) / Intermediate (Celeste)
Virtual Reality with A-Frame
by Taylor Want & Celeste Layne
Make simple api calls using python. Create a quick script to get detailed weather information. Learn how to read API documentation, create a call, and parse data.
Documentation: Github
Experience Level: Beginner
Python API Calls
by Kyle James
You know p5.js, but now it's time to learn how to do all the cool stuff you've seen other people do. We'll start with raindrops, and then you'll have some free time to see what else you can accomplish with objects.
Documentation: p5.js web editor example
Experience Level: Advanced
p5.js Object Orientation
by Jeff Olson
Learn how to create an animated data visualization with p5. Based on an interdisciplinary project that I'm doing with 10th grade science and design engineering classes this year.
Documentation: Website
Experience Level: Intermediate
Data viz with p5.js
by Katy Garnier
We will explore some of the basic functions in the p5.sound library to make a basic theremin with the mouse. We will learn how to add visuals, play musical notes and make an interactive instrument in a p5.js sketch.
Documentation: Google Doc
Experience Level: Intermediate
Creating sounds with p5.js
by Liam Baum
In this session, we'll create a meme generator by matching random images to random captions in p5.js. We'll learn how to use arrays to select random elements from a list and add images and fonts to our p5 sketches.
Documentation: Peblio
Experience Level: Intermediate
Meme generator in p5.js
by Esther Hersh & Regina Vetka
In this session, participants will be introduced to the full-year computational media curriculum currently being implemented in NYC public schools through the NYC-DOE CS4All initiative. Participants will also have a chance to explore teacher notes written by current Processing Foundation fellows and HS CS teachers Jose Orea and Courtney Morgan. The teacher notes are designed to help educators implement and adapt this curriculum for their classroom.
Documentation: Website
Experience Level: Beginner
Exploring the Introduction to Computational Media curriculum by CS4All
When people think "terminal app", they think of simple programs with boring text. Not true! Learn to make interactive terminal apps and games by unleashing the full power of XTerm + ANSI escape sequences on Repl.it!
Documentation: Repl.it
Experience Level: Intermediate
Interactive Terminal Apps with Repl.it
by Tim Chen
Learn about how learning works! By exploring a computer simulation that shows a computer learning how to navigate around mazes, we will learn why superstition exists, why going slowly is crucial to learning, and how to better adapt to changing situations.
Documentation: Github
Experience Level: Advanced
Learning about Learning
Objects are abstract and difficult for intermediate programmers to understand and know how to use effectively.
Documentation: Google Doc
Experience Level: Intermediate
Introducing Object - Simulating Bubbles
This tutorial will show you how to make a paint canvas in p5.js with a rainbow brush (and keyboard controls)! Written for a session at CC Fest LA, this tutorial is geared towards those new to p5.js but familiar with basic coding concepts (functions, variables, conditionals).
Documentation: Blog post
Experience Level: Beginner
Rainbow Paintbrush
We can use the random() function to make randomized art, to procedurally generate a drawing, or to put together mad-lib style pieces of text. We'll talk about algorithms like the random walker and concepts like emergence, and we'll have plenty of time to play with the code.
Documentation: Website and slides
Experience Level: Beginner
The Power (and Beauty) of Random
CSS and Web Design
by Scott Gruber
Introduction and hands-on workshop on CSS Grid Layout, Codepen.io and Firefox developer tools.
Documentation: Website
Experience Level: Advanced
Applying artistic concepts from impressionist art, and mathematical concepts related to implicit functions, and computer science concepts of repetition and logic, this work focuses on leading students through the production of strokes for texture and shape definitions to create a sample scene in an impressionist art style.
Documentation: PDF and website
Experience Level: Intermediate
Impressionist Computational Art
by Zoë Wood
This session explores the use of Sine and Cosine functions in animation with p5js. My hope is to remove some of the fear associated with these more "mathy" subjects, and help artists develop an understanding of basic trig that serves their personal practice.
Documentation: Website
Experience Level: Intermediate
Animating with Trigonometry
I want to do a demo of the professor focused features on OpenProcessing, and show how it is easy to bring students together and study creative coding. Would like to discuss Open Education experiment I have done on OpenProcessing, and analyse open classes and their interaction with the community via a datavisualization piece: https://openprocessing.org/labs/opviz. Last year at ccfest I noticed there were still many teachers not aware that many problems they brought up could be easily solved on OpenProcessing. Also, I want to announce some exciting updates on the future of the website.
Documentation: Website
Experience Level: Beginner
Teaching Creative Coding using OpenProcessing
Let's talk about breaking the silo - how to integrate creative coding into every subject area. We'll go over examples of cross-curricular coding projects, code a news broadcast, and talk about how the activity and others could be used in classrooms beyond a computer science class.
Documentation: Google Slides
Experience Level: Beginner
Code the News: Cross Curricular Coding
by Leandra Tejedor
We will use trigonometry and pythagorean theorem to make the beginnings of a game (basically, a game "shell").
Documentation: Website
Experience Level: Intermediate
Using Trigonometry to make a Simple Game
by Zach Brewer
Learn the basics of Computational Thinking with OpenSCAD, a 3D programming language. Learn how to use loops, decisions, arithmetic, variables and modules to quickly create complex 3D models you can 3d print. No previous coding or 3D experience required!
Documentation: Google Docs
Experience Level: Beginner
Building to Code with OpenSCAD
by Justin Gohde
ml5: Friendly Machine Learning
by Yining Shi and Cristobal Valenzuela
This workshop will be focused on doing deep learning in the browser with javascript. We will use ML5, an experimental library that does not require any setup tools or complicated frameworks to install. This will be a beginner-friendly workshop and no previous knowledge of machine learning is required.
Documentation: website
Difficulty: Beginner
The class opens with a framework to consider computer ethics and concludes with a strategy to engage CS students in Lincoln-Douglas style debates based on contemporary computer ethics problems.
Documentation: Google Slides
Difficulty Level: Intermediate
Infusing Ethics through Debate in the CS Classroom
Photobooth
by Serena Parr
Make a webcam photo booth with p5.js. Learn how to customize it, and publish it to the internet using Glitch.
Documentation: Google Docs, Slideshow, Glitch example
Difficulty Level: Beginner
Creative Live Communication
by Jingwen Zhu
Creative Live Communications is a workshop for students to learn about creating their own online communication platforms. Students will learn the basics of javascript programming and basic interaction design methods. The technical contents of the workshop will include: server-side programming, front-end development and UX design.
Documentation: Github
Difficulty Level: Advanced
Coding with Sonic Pi
by Liam Baum
Sonic Pi is a coding environment used to create music as both composition and performance. We will explore some of the basic functions to create sounds and rhythm, ways to manipulate these sounds, adding samples and playing multiple sounds at once. We will also look at how Sonic Pi can be used for live coding performances of music.
Documentation: Sonic Pi, Sonic Pi Online Tutorial, Sonic Pi Online Forum, Liam's education blog on the forum, Link to Liam's resources
Difficulty Level: Beginner
How to write Twitter Bots
An introduction to twitter bots, small programs that generate text and tweet it out. The workshop covers text generation with Tracery and bot hosting on Cheap Bots, Done Quick.
Documentation: Github
Difficulty Level: Beginner