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

by Nicolas “Shadrach” Smith


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

by Kelly Lougheed


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

by Rushali Paratey


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

by Layla Quinones


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

by Charles Portelli


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

by Gannett Cassidy


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

by Jose Olivares & Aankit Patel


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

by Xiaohan Zhang


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

by Derrick McMillen


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

by Kelly Lougheed


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

by Kevin Workman


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

by Dexter Shepard


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

by Sinan Ascioglu


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

Yining and Cris

Yining and Cris

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

by Jeffrey Kaufman


Photobooth

by Serena Parr

Serena leading her session on photobooths

Serena leading her session on photobooths

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

Jingwen leading her session on socket.io

Jingwen leading her session on socket.io

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

Liam leading his session on the Sonic Pi.

Liam leading his session on the Sonic Pi.

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

by Todd Anderson

Todd leading his session on Twitter Bots.

Todd leading his session on 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