Skip to content

Homework John Henry 01

John Henry Thompson edited this page Sep 27, 2026 · 26 revisions
Section 01 Info ICM Section 01 with JHT
Meeting Time Monday 9:30am - 12:00pm
Location Room 412
Contact jht9629@nyu.edu
My Office Hours Tuesday & Wednesday Sign up here
Extra Support ICM Help Sessions Friday 1:00pm - 3:00pm @ Rm 450
Resident office hours (schedule)
The Coding Lab (schedule or drop-in help)
How to ask code-related questions (examples)
Our Section Submit assignments here
See everyone's responses
Course syllabus
General Resources p5.js Reference / Web Editor
The Coding Train's Intro to p5.js
Allison Parrish’s Creative Coding Notes
Patt Vira's Make Art with Code
xin xin's Intro to p5.js
Jack B. Du's My Coding Show
Qtv's Creative Coding tutorials in Chinese (also on bilibili)
HappyCoding.io

Contents

About Our Section

Please read the ICM Code Syllabus for the course description, learning objectives, and all policies.

In addition, our course section embraces an active-learning approach with the belief that programming is best understood by doing. In keeping with this approach, class time will be structured as a workshop and seminar instead of a lecture, relying heavily on group discussion and participation. Weekly video tutorials before our class sessions will introduce fundamental coding concepts. During class, supplemental code examples will be presented and discussed before hands-on work together. Time will also be allotted to share our weekly assignments. Examples and assignments will iteratively build upon lessons learned in preceding classes. I encourage you to reach out to me outside of class to ask questions, share your ideas and feedback, and discuss topics in detail.

How to Succeed in Our Course

  • Show up on time
  • participate in class by sharing and discussing your work, and asking questions.
  • and submit homework on time and document your process (see below)

Here’s the evaluation breakdown on our syllabus, but if you are engaged in ways described here, you’ll be on your way!

Weekly Assignment Guidelines

All assignments will be posted on this page, and all are required. Unless otherwise stated, assignments are due the night before class.

*Log in to your NYU account to access the document.

AI Use

Citing Sources

The field of creative technology thrives on community and the open sharing of code. You are encouraged to learn from the work of others and leverage existing tutorials, examples, libraries, and documentation like the p5.js language reference as you build. The purpose of our exercises, however, is to demonstrate your own problem-solving, creative thinking, and technical understanding. Whenever something outside your own work helps you, cite it: provide a link along with a quick note on how it helped, so we can learn from each other’s sources. The same goes for AI tools.

--

Week 1 • Sept 14 • Introduction and Drawing in p5.js

  • Welcome! and introductions
  • Course overview + AI policy
  • What is p5.js (p5)?
  • p5 web editor
  • p5 functions
  • Syllabus + schedule
  • Assignment

Resources

Examples

Assignment due the night before our next class:

--

Week 2 • Sept 21 • Animation with Variables

In class:

  • Homework review and Questions
  • Logging values to the Console
  • Introduction to variables
  • Animating shapes
  • p5's system variables

Sketches From Coding Train Videos:

Review

  • Execution Flow
  • Order of Operations
  • What is an Algorithm

Variables and Expressions

  • circleX remainder Expressions
  • circleX buttons Buttons to change variables
  • circleX follow An algorithm to follow the mouse
  • 2.2.3 circleX width ui
  • reporting variable values, cooridinates and colors
  • TRY: adding specific colors using Color Meter.app
  • remix to demonstrate
    • global variables
    • local variables
    • expressions
    • defining your own function
    • object literals
    • parameter variables

Functions + object literals

Grouping variables into object literals and passing to functions as parameter variables.

Animation using computation

Assignment due the 24-hours before our next class:

--

Week 3 • Sept 28 • Interaction with Conditionals

Resources

Remix class activity

Assignment due the 24-hours before our next class:

  • PRACTICE • Week 3 Worksheet
  • CREATE • Assignment #3
    • Two roads diverged in a yellow wood, And sorry I could not travel both... Life is full of difficult choices, use conditional statements to control the flow of your programs. Create a sketch that asks people to make difficult choices that have surprising consequences.
    • Which choices are easier, harder? Which choices are false choices?
    • What internal or external factors influence the choice? How do others’ choices affect your choices?
    • What choices surprise you with unexpected outcomes?
    • Can you combine choices to create hard-to-predict results? (Hint: Use && and ||)
    • Work in Pairs Can you divide an idea into two parts and combine those parts? (e.g. One of you codes the input behaviors (if statement) and the other one codes the output behaviors (what to do if it’s true.) Can you swap sketches and riff off of your partner's work? Provide 1 sketch link per pair, however clearly describe who did what in the code.
    • Be sure to cite the source of any material / code you use.
    • Submit your assignment on our homework form.
  • WATCH, READ, RUN CODE:

Clone this wiki locally