Curriculum Overview

A NYS Computing Standard-Aligned Introductory High School Computer Science Curriculum using p5.js


This curriculum is version 2.0 of our original ICM curriculum. It moves a little quicker and aims to hit all standards from the Computational Thinking category of the NYS Computing Standards. Looking for ICM Version 2.0 in

Version 1.0 of this curriculum was developed by the NYCDOE CS4All academics team (José Olivares, EJ Park) with lead writer Luisa Pereira. Additional contributors to the curriculum include Courtney Morgan 🙆‍♀️ & José Orea (teacher implementation guide and additional activities), Esther Hersh, and the Processing Foundation. Curricular reorganization, rewrites, and extras were developed by Courtney Morgan. Version 2.0 was planned, arranged, and developed by Courtney Morgan. All lessons are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license License: CC BY-NC-SA 4.0. For more info on the limitations and use of materials under this license please click here.


While this is an introductory computer science course, it can serve as a terrific AP Computer Science Principles Prep course. The guides below were developed based on Curriculum Version 1.0, but you can still use the guides below to assist if you are a teacher whose students will eventually take AP CSP, or who is just looking to broaden the content covered within this course:

Class Resource Examples

Instructional Videos

Additional Tools

  • Code-it: A block language based on p5

  • Open Processing: A web editor with a lot of cool examples from the community

  • Codepen: A front end web editor with cool examples (although mostly not p5)

  • An online web editor for any language with classroom tools

Additional Workshops && Tutorials

  • Meme Generator: Build a randomized meme generator in p5 -Tutorial

  • Generative Portraits: upload images and generate portraits with p5 shapes and the .get function -Worksheet

  • Changing faces conditionals practice -Worksheet

  • Happy Coding Intro to Coding with p5.js and Processing -15-week Curriculum

Getting Started with p5 Projects

These projects help you get up and running with p5 very quickly. They include instructions, videos and sample code. You can create the projects in the Peblio workspace as you watch these videos. They are not classroom resources, but resources to help you build your comfort level with p5.

Interactive Art: Hour of Code in p5.js

This hour of code activity introduces drawing with p5 and system variables mouseX and mouseY. If you change the sequence and teach colors after shapes followed by system variables, this is a great project option.



Last updated