Tutorials Education Resources

Education Resources

Every teaching experience has unique goals, messages, conditions, and environments. By documenting and sharing p5.js educational resources, such as workshops and classes, we aim to better connect the p5.js learner and educator communities worldwide. Add your educational resource on GitHub!

Thank you to Tuan Huang, Yu Lee, and Janis Sepúlveda for initiating the education resource list during OSACC 2024, as well as to previous p5.js Teach page contributors Inhwa Yeom, Gracia Zhang, and Qianqian Ye.


English education resources from the community

  • A screenshot of the happy coding's homepage”

    A screenshot of the happy coding's homepage”

    Happycoding p5.js Tutorials
    Kevin Workman

    A series of p5.js tutorials with detailed steps

  • Xin Xin’s tutorial cover titled “Experimental Typography textToPoints() Javascript splice()

    Xin Xin’s tutorial cover titled “Experimental Typography textToPoints() Javascript splice()

    p5.js Tutorials by Xin Xin
    Xin Xin

    Video tutorials about p5.js

  • Patt Vira’s youtube channel banner, showing “MAKE ART WITH CODE New video Monday, Wednesday, and Friday”

    Patt Vira’s youtube channel banner, showing “MAKE ART WITH CODE New video Monday, Wednesday, and Friday”

    p5.js Tutorials by Patt Vira
    Patt Vira

    Video tutorials teaching creative coding topics with p5.js

  • A collage of about “3-Min Creative Coding with p5.js

    A collage of about “3-Min Creative Coding with p5.js

    3-Min Creative Coding with p5.js
    Carrie Sijia Wang

    Video tutorials about p5.js

  • A screenshot of p5.js tutorial by Computational Mama

    A screenshot of p5.js tutorial by Computational Mama

    p5.js Tutorials by Computational Mama
    Computational Mama

    Experiments with creative coding and live coding with p5js.

  • A header image showing “Critical Coding Cookbook: Intersectional Feminist Approaches to Teaching and Learning

    A header image showing “Critical Coding Cookbook: Intersectional Feminist Approaches to Teaching and Learning

    Critical Code Cookbook
    Critical Code Cookbook

    Intersectional Feminist Approaches to Teaching and Learning Material.

  • Face of a chatbot

    Face of a chatbot

    Chatbots for Art’s Sake with p5.js
    Carrie Sijia Wang

    Repurposes existing chatbot technologies and uses them for the sake of art

  • The text 'Fractal implementations' with 90s jazz decorations around it

    The text 'Fractal implementations' with 90s jazz decorations around it

    Fractal Implementations
    Mariana

    Introduce the theme of fractals and use p5.js to implement them.

  • Cover photo with text 'Creative Coding'

    Cover photo with text 'Creative Coding'

    Creative Coding Class with p5.js
    Carrie Sijia Wang

    Fundamental coding class using p5.js

  • Two volunteers explaining concepts using a white board and a screen to a bunch of deaf and hard of hearing students, each student facing a computer screen.

    Two volunteers explaining concepts using a white board and a screen to a bunch of deaf and hard of hearing students, each student facing a computer screen.

    Signing Coders
    Taeyoon Choi

    To help Deaf and Hard of Hearing students learn about computer programming through playful exercises. To make ASL tutorial of basic coding concepts. We used p5.js Web editor and code examples on the website. We also used dice, playing cards and various paper tools to help students learn about coding concepts.

  • pix2pix demo image with cat image generated from edges.

    pix2pix demo image with cat image generated from edges.

    Machine Learning for the Web
    Yining Shi

    The goal of this class is to learn and understand common machine learning techniques and apply them to generate creative outputs in the browser using ml5.js and p5.js. This class is a mix of lectures, coding sessions, group discussions, and presentations.

  • A composition with a blue triangle, a red square and a yellow circle

    A composition with a blue triangle, a red square and a yellow circle

    Introduction to Generative Drawing
    Adam Herst

    To introduce p5.js to artists with little or no programming experience and to suggest one way an analogue practice can migrate to a digital form. A printed workbook with activities that used the p5.js web editor to show how to translate a physical drawing into a digital drawing.

  • A composition with a blue triangle, a red square and a yellow circle

    A composition with a blue triangle, a red square and a yellow circle

    Digital Weaving & Physical Computing Workshop Series
    Qianqian Ye, Evelyn Masso

    Over the course of three workshops, we’ll draw and create patterns using p5.js, an open-source graphical library; we’ll learn and apply computational concepts to transform patterns and finally, we’ll bring weaving to life with electronic microcontrollers.

  • A screenshot of the website with p5js links and embedded p5 editor

    A screenshot of the website with p5js links and embedded p5 editor

    Painting with Code
    Andreas Refsgaard

    Get creatives, designers, artists and other people who don’t typically use code introduced to p5.js.

  • Banner image showing “STEVE’S MAKERSPACE”

    Banner image showing “STEVE’S MAKERSPACE”

    Steve's Makerspace
    Steve’s Makerspace

    Generative art tutorials taught with p5.js

  • book cover titled “Geometric Pattern with Creative Coding” and subtitled “Coding for the Arts” by “Selçuk Artut”

    book cover titled “Geometric Pattern with Creative Coding” and subtitled “Coding for the Arts” by “Selçuk Artut”

    Geometric-Patterns-with-Creative-Coding
    Selçuk Artut

    Geometric pattern examples and code made with p5.js

  • a screenshot of the syllabus with title and texts

    a screenshot of the syllabus with title and texts

    Introduction to Computational Media with p5.js
    Barry Voeten

    This is a teacher-facing p5 curriculum. Each unit includes a series of learning activities and ends with a final project where students apply the concepts they have learned in a creative way. Final project prompts include three levels of difficulty. For each of them, a finished project example is provided.

  • a group photo of 25 students with their teacher

    a group photo of 25 students with their teacher

    Introduction to Video Game Programming in High School with p5.js
    Emanuele Bolognesi

    This is a teacher-facing p5 curriculum. Each unit includes a series of learning activities and ends with a final project where students apply the concepts they have learned in a creative way. Final project prompts include three levels of difficulty. For each of them, a finished project example is provided.

  • A screenshot of the website with gray background and interactive sketches

    A screenshot of the website with gray background and interactive sketches

    Six Features of Programming Languages demonstrated in p5.js
    Nick Fox-Gieg

    The six core features of almost any programming language, demonstrated in C++, C#, Java, JavaScript, Python, and Swift.

  • Screenshots of Coding Train Video Tutorials

    Screenshots of Coding Train Video Tutorials

    Code! Programming with p5.js!
    Daniel Shiffman, The Coding Train

    Learn all the basics of code (variables, conditionals, loops, objects, arrays) in JavaScript with p5.js!

  • Cover of Nature of Code book

    Cover of Nature of Code book

    The Nature of Code
    Daniel Shiffman

    Online (and print) textbook on simulation natural systems with p5.js. Covers physics engines, generative algorithms, and machine learning.

International education resources from the community

  • p5.js Japanese logo

    p5.js Japanese logo

    p5.js Archived Website Japanese Translation
    shibomb

    p5.jsウェブサイトの日本語翻訳を行うオープンソースプロジェクト

  • In-class photo

    In-class photo

    50+ Coding Club in Korea
    Inhwa Yeom

    p5.js for 50+ aims to enhance the digital literacy and rights of people going on 50+

  • Pantallazo de la miniatura de la lista de reproducción de p5js (screenshot of the thumbnail of the playlist p5js)

    Pantallazo de la miniatura de la lista de reproducción de p5js (screenshot of the thumbnail of the playlist p5js)

    Fundamentals of p5.js in spanish
    ChepeCarlos

    Fundamentos de p5js en español (fundamentals of p5.js in spanish)

  • A group of 20 people sitting on a large shared table with their laptops looking at a projected screen.

    A group of 20 people sitting on a large shared table with their laptops looking at a projected screen.

    Taller Introducción a la Programación Creativa con p5.js
    Aarón Montoya-Moraga

    Introduction to beginners and artists of graphic web programming and open source, using p5.js, in Spanish

  • A tutorial screenshot about creating calligraphy using p5.js.

    A tutorial screenshot about creating calligraphy using p5.js.

    p5.js Tutorial in Mandarin - QTV
    Qianqian Ye

    A series of p5.js video tutorials in Mandarin on Bilibili and TikTok

  • Screenshot of the teacher is teaching on p5.js web editor online

    Screenshot of the teacher is teaching on p5.js web editor online

    Taller de Creative Coding
    Federico Santana

    Sólo una colección de p5.js donde subo los ejemplos que se hacen en vivo, acá:Hacer que más personas aprendan sobre el arte creativo y, a su vez, poder ir acercandolas al mundo de la matemática, todo en español. El curso está fuertemente inspirado en “The coding train” pero con acercamiento que va a la matemática y el arte creativo en su conjunto.

  • Example picture

    Example picture

    Introduction to p5.js in French
    Bérenger Recoules (a.k.a b2renger)

    Get to know p5.js and its functionalities (dom, audio, webgl etc.)

  • An animation gif with the screen capture of the working calculator

    An animation gif with the screen capture of the working calculator

    Calculadora de IMC
    Dayana

    Auxiliar pessoas que estao iniciando na programação

  • A screenshot of the website with a list of p5.js examples

    A screenshot of the website with a list of p5.js examples

    p5.js à l'Ubuntu Party!
    Basile Pesin

    This introduction for a new public to programming through fun and compelling examples takes the form of in-person workshop, 1 hour per session, with different participants each time. The students were using (Ubuntu) machines with the p5.js web editor. I was teaching using a video projector as well as a board.

  • A table on which there is a laptop, some sheets of papers, colorful pens and two automatic machines drawing something with a pen on a sheet.

    A table on which there is a laptop, some sheets of papers, colorful pens and two automatic machines drawing something with a pen on a sheet.

    Open Lecture, Creative Coding: 2020
    Shunsuke Takawo

    Making code as a tool for artistic expression.

  • A banner for a workshop with geometric shapes and text, and screenshot of a slide.

    A banner for a workshop with geometric shapes and text, and screenshot of a slide.

    Creative Coding for Static Graphics
    Shunsuke Takawo

    To code from the graphic designer’s perspective.

  • pantallazo de la clase de p5js (screenshot of the class p5js).

    pantallazo de la clase de p5js (screenshot of the class p5js).

    Introducción a la programación creativa (Introduction to creative coding)
    Aarón Montoya-Moraga, Guillermo Montecinos

    Introducción a la programación creativa (introduction to creative coding)

  • geometrical and fragmented shape with the color of blue and brown.

    geometrical and fragmented shape with the color of blue and brown.

    Generative art with p5
    Karlos G. Liberal

    Arte generativo con p5 en español, inspirado en el arte de Zach Lieberman y en los videos de Daniel Shiffman “The coding train” en youtube (Generative art with p5 in spanish inspired by zach lieberman and daniel shiffman’s the coding train youtube videos).

Every teaching experience has unique goals, messages, conditions, and environments. By documenting and sharing p5.js educational resources, such as workshops and classes, we aim to better connect the p5.js learner and educator communities worldwide. Add your educational resource on GitHub!

Thank you to Tuan Huang, Yu Lee, and Janis Sepúlveda for initiating the education resource list during OSACC 2024, as well as to previous p5.js Teach page contributors Inhwa Yeom, Gracia Zhang, and Qianqian Ye.


English education resources from the community

  • A screenshot of the happy coding's homepage”

    A screenshot of the happy coding's homepage”

    Happycoding p5.js Tutorials
    Kevin Workman

    A series of p5.js tutorials with detailed steps

  • Xin Xin’s tutorial cover titled “Experimental Typography textToPoints() Javascript splice()

    Xin Xin’s tutorial cover titled “Experimental Typography textToPoints() Javascript splice()

    p5.js Tutorials by Xin Xin
    Xin Xin

    Video tutorials about p5.js

  • Patt Vira’s youtube channel banner, showing “MAKE ART WITH CODE New video Monday, Wednesday, and Friday”

    Patt Vira’s youtube channel banner, showing “MAKE ART WITH CODE New video Monday, Wednesday, and Friday”

    p5.js Tutorials by Patt Vira
    Patt Vira

    Video tutorials teaching creative coding topics with p5.js

  • A collage of about “3-Min Creative Coding with p5.js

    A collage of about “3-Min Creative Coding with p5.js

    3-Min Creative Coding with p5.js
    Carrie Sijia Wang

    Video tutorials about p5.js

  • A screenshot of p5.js tutorial by Computational Mama

    A screenshot of p5.js tutorial by Computational Mama

    p5.js Tutorials by Computational Mama
    Computational Mama

    Experiments with creative coding and live coding with p5js.

  • A header image showing “Critical Coding Cookbook: Intersectional Feminist Approaches to Teaching and Learning

    A header image showing “Critical Coding Cookbook: Intersectional Feminist Approaches to Teaching and Learning

    Critical Code Cookbook
    Critical Code Cookbook

    Intersectional Feminist Approaches to Teaching and Learning Material.

  • Face of a chatbot

    Face of a chatbot

    Chatbots for Art’s Sake with p5.js
    Carrie Sijia Wang

    Repurposes existing chatbot technologies and uses them for the sake of art

  • The text 'Fractal implementations' with 90s jazz decorations around it

    The text 'Fractal implementations' with 90s jazz decorations around it

    Fractal Implementations
    Mariana

    Introduce the theme of fractals and use p5.js to implement them.

  • Cover photo with text 'Creative Coding'

    Cover photo with text 'Creative Coding'

    Creative Coding Class with p5.js
    Carrie Sijia Wang

    Fundamental coding class using p5.js

  • Two volunteers explaining concepts using a white board and a screen to a bunch of deaf and hard of hearing students, each student facing a computer screen.

    Two volunteers explaining concepts using a white board and a screen to a bunch of deaf and hard of hearing students, each student facing a computer screen.

    Signing Coders
    Taeyoon Choi

    To help Deaf and Hard of Hearing students learn about computer programming through playful exercises. To make ASL tutorial of basic coding concepts. We used p5.js Web editor and code examples on the website. We also used dice, playing cards and various paper tools to help students learn about coding concepts.

  • pix2pix demo image with cat image generated from edges.

    pix2pix demo image with cat image generated from edges.

    Machine Learning for the Web
    Yining Shi

    The goal of this class is to learn and understand common machine learning techniques and apply them to generate creative outputs in the browser using ml5.js and p5.js. This class is a mix of lectures, coding sessions, group discussions, and presentations.

  • A composition with a blue triangle, a red square and a yellow circle

    A composition with a blue triangle, a red square and a yellow circle

    Introduction to Generative Drawing
    Adam Herst

    To introduce p5.js to artists with little or no programming experience and to suggest one way an analogue practice can migrate to a digital form. A printed workbook with activities that used the p5.js web editor to show how to translate a physical drawing into a digital drawing.

  • A composition with a blue triangle, a red square and a yellow circle

    A composition with a blue triangle, a red square and a yellow circle

    Digital Weaving & Physical Computing Workshop Series
    Qianqian Ye, Evelyn Masso

    Over the course of three workshops, we’ll draw and create patterns using p5.js, an open-source graphical library; we’ll learn and apply computational concepts to transform patterns and finally, we’ll bring weaving to life with electronic microcontrollers.

  • A screenshot of the website with p5js links and embedded p5 editor

    A screenshot of the website with p5js links and embedded p5 editor

    Painting with Code
    Andreas Refsgaard

    Get creatives, designers, artists and other people who don’t typically use code introduced to p5.js.

  • Banner image showing “STEVE’S MAKERSPACE”

    Banner image showing “STEVE’S MAKERSPACE”

    Steve's Makerspace
    Steve’s Makerspace

    Generative art tutorials taught with p5.js

  • book cover titled “Geometric Pattern with Creative Coding” and subtitled “Coding for the Arts” by “Selçuk Artut”

    book cover titled “Geometric Pattern with Creative Coding” and subtitled “Coding for the Arts” by “Selçuk Artut”

    Geometric-Patterns-with-Creative-Coding
    Selçuk Artut

    Geometric pattern examples and code made with p5.js

  • a screenshot of the syllabus with title and texts

    a screenshot of the syllabus with title and texts

    Introduction to Computational Media with p5.js
    Barry Voeten

    This is a teacher-facing p5 curriculum. Each unit includes a series of learning activities and ends with a final project where students apply the concepts they have learned in a creative way. Final project prompts include three levels of difficulty. For each of them, a finished project example is provided.

  • a group photo of 25 students with their teacher

    a group photo of 25 students with their teacher

    Introduction to Video Game Programming in High School with p5.js
    Emanuele Bolognesi

    This is a teacher-facing p5 curriculum. Each unit includes a series of learning activities and ends with a final project where students apply the concepts they have learned in a creative way. Final project prompts include three levels of difficulty. For each of them, a finished project example is provided.

  • A screenshot of the website with gray background and interactive sketches

    A screenshot of the website with gray background and interactive sketches

    Six Features of Programming Languages demonstrated in p5.js
    Nick Fox-Gieg

    The six core features of almost any programming language, demonstrated in C++, C#, Java, JavaScript, Python, and Swift.

  • Screenshots of Coding Train Video Tutorials

    Screenshots of Coding Train Video Tutorials

    Code! Programming with p5.js!
    Daniel Shiffman, The Coding Train

    Learn all the basics of code (variables, conditionals, loops, objects, arrays) in JavaScript with p5.js!

  • Cover of Nature of Code book

    Cover of Nature of Code book

    The Nature of Code
    Daniel Shiffman

    Online (and print) textbook on simulation natural systems with p5.js. Covers physics engines, generative algorithms, and machine learning.

International education resources from the community

  • p5.js Japanese logo

    p5.js Japanese logo

    p5.js Archived Website Japanese Translation
    shibomb

    p5.jsウェブサイトの日本語翻訳を行うオープンソースプロジェクト

  • In-class photo

    In-class photo

    50+ Coding Club in Korea
    Inhwa Yeom

    p5.js for 50+ aims to enhance the digital literacy and rights of people going on 50+

  • Pantallazo de la miniatura de la lista de reproducción de p5js (screenshot of the thumbnail of the playlist p5js)

    Pantallazo de la miniatura de la lista de reproducción de p5js (screenshot of the thumbnail of the playlist p5js)

    Fundamentals of p5.js in spanish
    ChepeCarlos

    Fundamentos de p5js en español (fundamentals of p5.js in spanish)

  • A group of 20 people sitting on a large shared table with their laptops looking at a projected screen.

    A group of 20 people sitting on a large shared table with their laptops looking at a projected screen.

    Taller Introducción a la Programación Creativa con p5.js
    Aarón Montoya-Moraga

    Introduction to beginners and artists of graphic web programming and open source, using p5.js, in Spanish

  • A tutorial screenshot about creating calligraphy using p5.js.

    A tutorial screenshot about creating calligraphy using p5.js.

    p5.js Tutorial in Mandarin - QTV
    Qianqian Ye

    A series of p5.js video tutorials in Mandarin on Bilibili and TikTok

  • Screenshot of the teacher is teaching on p5.js web editor online

    Screenshot of the teacher is teaching on p5.js web editor online

    Taller de Creative Coding
    Federico Santana

    Sólo una colección de p5.js donde subo los ejemplos que se hacen en vivo, acá:Hacer que más personas aprendan sobre el arte creativo y, a su vez, poder ir acercandolas al mundo de la matemática, todo en español. El curso está fuertemente inspirado en “The coding train” pero con acercamiento que va a la matemática y el arte creativo en su conjunto.

  • Example picture

    Example picture

    Introduction to p5.js in French
    Bérenger Recoules (a.k.a b2renger)

    Get to know p5.js and its functionalities (dom, audio, webgl etc.)

  • An animation gif with the screen capture of the working calculator

    An animation gif with the screen capture of the working calculator

    Calculadora de IMC
    Dayana

    Auxiliar pessoas que estao iniciando na programação

  • A screenshot of the website with a list of p5.js examples

    A screenshot of the website with a list of p5.js examples

    p5.js à l'Ubuntu Party!
    Basile Pesin

    This introduction for a new public to programming through fun and compelling examples takes the form of in-person workshop, 1 hour per session, with different participants each time. The students were using (Ubuntu) machines with the p5.js web editor. I was teaching using a video projector as well as a board.

  • A table on which there is a laptop, some sheets of papers, colorful pens and two automatic machines drawing something with a pen on a sheet.

    A table on which there is a laptop, some sheets of papers, colorful pens and two automatic machines drawing something with a pen on a sheet.

    Open Lecture, Creative Coding: 2020
    Shunsuke Takawo

    Making code as a tool for artistic expression.

  • A banner for a workshop with geometric shapes and text, and screenshot of a slide.

    A banner for a workshop with geometric shapes and text, and screenshot of a slide.

    Creative Coding for Static Graphics
    Shunsuke Takawo

    To code from the graphic designer’s perspective.

  • pantallazo de la clase de p5js (screenshot of the class p5js).

    pantallazo de la clase de p5js (screenshot of the class p5js).

    Introducción a la programación creativa (Introduction to creative coding)
    Aarón Montoya-Moraga, Guillermo Montecinos

    Introducción a la programación creativa (introduction to creative coding)

  • geometrical and fragmented shape with the color of blue and brown.

    geometrical and fragmented shape with the color of blue and brown.

    Generative art with p5
    Karlos G. Liberal

    Arte generativo con p5 en español, inspirado en el arte de Zach Lieberman y en los videos de Daniel Shiffman “The coding train” en youtube (Generative art with p5 in spanish inspired by zach lieberman and daniel shiffman’s the coding train youtube videos).