This page contains lesson plans from some of the sessions run at CC Fests. Enjoy, share, and give feedback. You can click on the name of the session leader to email them. The lesson plans are linked in the documentation


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