Skip to content
Sam Heckle edited this page Dec 9, 2025 · 22 revisions

Important Resources and Links

Office Hours & Extra Help
Sam Office Hours Zoom: Friday 11:30 - 3:30. Book here
In-person: By appt. Email sam.heckle@nyu.edu
On floor ITP Help Page to find residents, staff, and faculty.
Coding Lab
ICM Help Sessions Tuesdays 3-4PM (Room 426)

Previous Wiki

ICM Code

Homework Submission

Homework is due at the start of class time.

  • Submit homework in the MEDIA form here
  • View past homework submissions here.

About

Expectations & Class Manifesto

  1. Be curious!
    • What questions are you asking? What do you not know? How can you find those answers?
  2. Practice!
    • Learning to code takes time! You will have to do a lot of work outside of class to understand what is going on in the context of your own projects
  3. Low Stress NOT Low Effort
    • Did you learn something new? write it in your documentation!
    • Did you struggle? write it in your documentation!
    • Did you accomplish what you wanted? write it in your documentation!
    • If you made a solid attempt and wrote documentation (via a blog post) you get credit.

Class Format

Broadly – this is similar to a math class.

You will be taught in class:

  • syntax of how the coding language works
  • application of how to use the coding language in a broad sense

Outside of class:

  • practice the syntax
  • contextualize the content in your own projects

A typical week structure might look like:

  1. Review previous week’s assignment and questions
  2. Introduce new content
  3. Practice new content in class
    • You should be following along the demos!
  4. Refresh and Apply:
    • Review Weekly ICM notes. This always includes extra videos / readings that might activate an interest not discussed in class.
    • Review in-class demos & slides
    • Apply new material to the upcoming assignment
    • Write blog post documenting your progress

Use of Generative Artificial Intelligence (AI) Tools:

For the first 7 weeks of this course I would highly encourage you to to avoid using AI or any external tools (other than the p5 reference) in this class. We will cover effective use cases later in the semester, but you will find you can go much further executing your ideas when you have a solid understanding of the core coding techniques.

With this in mind:

  • You MAY use AI in the initial stages of research, idea generation, and drafting.
  • You MAY use AI for language translation.
  • However, you MAY NOT not rely on AI output for significant portions of your final project form unless it is a necessary part of your project concept.
  • If you use AI at any stage in the creation of your project (including initial stages, idea generation, drafting, language translation, and final form), you must properly cite and disclose this use. This should include details on the specific tool and version used, as well as the nature of your usage (for example, in programming code, images, and/or text/writing).
  • Citation should reference both the platform and any creator (“style of”) names or references.
  • Please follow this citation guide
  • If you fail to disclose the use of AI, you will receive a 0 on the assignment.

Week 8

Outline

  • Continue AI Discussion
  • Introduction to Pixels

Links and Resources to Review

Misc Links

Slides and Demos

  • Slides
  • Demos
    • pixel array demo
      • live site on github pages
      • using .loadPixels() on an image object to retrieve the .pixels array
      • modified the pixels using the specific index of each pixel with +=4 inside our loop

Assignment

  • Week 8 Worksheet
  • Work in pairs. Due in 2 weeks. Create and/or manipulate an image or video at the pixel level to create an alternative to the reality depicted in the source image. Describe your source image with 3 keywords. Describe your alternative reality with 3 keywords. Emphasize how they are different. Create a blog post documenting your work.
  • Consult resources from syllabus for inspiration. Pixels Week 1 | Pixels Week 2

Week 9

Outline

  • Continue Pixels
  • Pixels and Video
  • Pixels and Video and ml5.js

Links and Resources to Review

Misc Links

Slides and Demos

Assignment

  • Work in pairs. Due Week 10 (11/11). Create and/or manipulate an image or video at the pixel level to create an alternative to the reality depicted in the source image. Describe your source image with 3 keywords. Describe your alternative reality with 3 keywords. Emphasize how they are different. Create a blog post documenting your work.
  • Consult resources from syllabus for inspiration. Pixels Week 1 | Pixels Week 2

Week 10

Outline

  • Project share
  • Introduction to p5.sound

Links and Resources to Review

Misc Links

sound wave types

Slides and Demos

Assignment

  • Work in pairs. Due Week 12 (11/25). Create an interactive music video (1-2 minutes) where music is any organization of sound with the capacity for narrative.
    • What parameters of sound are you working with? Texture, rhythm, melody, something else?
    • Prepare 2-5 words to describe the sound as it progresses through time. What is the narrative? (Can be abstract.)
    • Create a blog post documenting your work. Include links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.

Week 11

Outline

  • Continue with sound synthesis and p5.sound

Links and Resources to Review

Misc Links

Slides and Demos

Assignment

  • Work in pairs. Due Week 12 (11/25). Create an interactive music video (1-2 minutes) where music is any organization of sound with the capacity for narrative.
    • What parameters of sound are you working with? Texture, rhythm, melody, something else?
    • Prepare 2-5 words to describe the sound as it progresses through time. What is the narrative? (Can be abstract.)
    • Create a blog post documenting your work. Include links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.

Week 12

Outline

  • Homework share
  • Demos: Strings and Text

Links and Resources to Review

Misc Links

Slides and Demos

Assignment

  • Prepare a final project proposal to talk about in our 1:1 meetings next week, on 12/2. You can book here. You don't need a blog post for this meeting, but notes or other references (mood board, sketches, notes of ideas you are working with) would be useful to talk through. If the times available don't work, please send me an email so we can work out another time.
  • Begin work on your final project, due 12/9. This is an open ended project to tackle any discoveries you might want to continue exploring from the beginning of the semester.
    • You are welcome to work in pairs for this project.
    • You are welcome to continue work on a previous project.
    • You are welcome to do more research on an interesting topic and prototype with small explorations.
      • You are welcome to explore any of the p5 libraries
      • You are welcome to explore https://tinytools.directory/
      • Good benchmarks for choosing a library to work with:
        • What does the documentation look like?
        • Is it well-supported by the p5 community? When was the last time the library was updated?
        • Are there a lot of tutorials using the library?
        • Is it an interesting topic to you?
    • You are encouraged to combine this final with other classes!

Week 13

Outline

  • 1:1 meetings

Links and Resources to Review

Assignment

  • Complete work on your final project, due 12/9. This is an open ended project to tackle any discoveries you might want to continue exploring from the beginning of the semester.
    • You are welcome to work in pairs for this project.
    • You are welcome to continue work on a previous project.
    • You are welcome to do more research on an interesting topic and prototype with small explorations.
      • You are welcome to explore any of the p5 libraries
      • You are welcome to explore https://tinytools.directory/
      • Good benchmarks for choosing a library to work with:
        • What does the documentation look like?
        • Is it well-supported by the p5 community? When was the last time the library was updated?
        • Are there a lot of tutorials using the library?
        • Is it an interesting topic to you?
    • You are encouraged to combine this final with other classes!

Week 14

Outline

  • Final Presentations

Clone this wiki locally