Weekly Schedule

Week 01 (2024/09/09)

Class Materials:

Recommended Readings:

  • Intro to Programming and JavaScript: [1] [2]
  • Setting up an IDE, Git and GitHub: [1] [2]
  • Setting Up p5.js: [1]

Recommended Videos:

  • Signing up for GitHub: [1]
  • Creating a GitHub Organization: [1]
  • Setup GitHub Desktop App: [1]
  • Start a Project from a Template: [1]
  • Installing VSCode plugins: [1]
  • Cloning and Committing using The GitHub App: [1]

Homework 01 | due: 2024/09/16 - 5PM


Week 02 (2024/09/16)

Class Materials:

Tutorials:

Recommended Readings:

  • Getting Started with p5js (Chapters 1, 2, 3, 4, 6): [1]
  • p5.js Documentation: [1]

Recommended Videos:

  • Cloning and Committing using The GitHub App: [1]
  • Code: Repeatable/Modular Code: [1]

Homework 02 | due: 2024/09/23 - 5PM


Week 03 (2024/09/23)


Week 04 (2024/09/30)


Week 05 (2024/10/07)

Class Materials:

Tutorials:

Recommended Readings:

  • Getting Started with p5js (Chapters 5 and 8): [1]

Recommended Videos:

Homework 05 | due: 2024/10/14 - 5PM


Week 06 (2024/10/15)

Class Materials:

Tutorials:

Recommended Readings:

  • Getting Started with p5js (Chapters 10, 11, 12): [1]
  • Introducing JavaScript Objects: [1]

Recommended Videos:

Homework 06 | due: 2024/10/21 - 5PM


Week 07 (2024/10/21)

Class Materials:

Tutorials:

Recommended Readings:

  • Getting Started with p5js (Chapter 7): [1]
  • IDM's Image Processing Tutorial: [1]

Recommended Videos:

Homework 07 | due: 2024/10/28 - 5PM


Week 08 (2024/10/28)

Class Materials:

Tutorials:

Recommended Readings:

  • Getting Started with p5js (Chapter 13.4 - 13.6): [1]
  • Intro to HTML: [1]

Recommended Videos:

Homework 08 | due: 2024/11/04 - 5PM


Week 09 (2024/11/04)

  • Midterm Presentations

Class Materials:

Tutorials:

Recommended Readings:

  • Getting Started with p5js (Chapters 13): [1]
  • The Nature of Code (Chapter 0: Randomness): [1]

Homework 09 | due: 2024/11/11 - 5PM


Week 10 (2024/11/11)

Class Materials:

Tutorials:

Recommended Readings:

  • Getting Started with p5js (Chapters 13): [1]
  • The Nature of Code (Chapter 1: Vectors): [1]
  • Original Sound Library Documentation: [1]
  • Jason Sigal's Visualizing Music: [1]

Recommended Videos:

Homework 10 | due: 2024/11/18 - 5PM


Week 11 (2024/11/18)

Arduino:

  • Arduino Intro
  • Outputs: Analog and Digital

Class Materials:

Tutorials:

Recommended Readings:

  • Sparkfun's Electronics Tutorial: [1] [2] [3] [4]
  • Setting Up The Arduino IDE: [1]
  • Getting Started with the Nano ESP32: [1] [2]

Recommended Videos:

Homework 11 | due: 2024/11/25 - 5PM


Week 12 (2024/11/25)

Arduino:

  • Inputs: Digital and Analog
  • Serial port
  • Finite-State Machines

Class Materials:

Tutorials:

Recommended Videos:

  • Digital Input: [1] [2]
  • Analog Input and Serial Port: [1]

Homework 12 | due: 2024/12/02 - 5PM


Week 13 (2024/12/02)

Arduino:

  • More FSMs
  • Communicating with p5.js

Class Materials:

Tutorials:

Recommended Readings:

  • Serial Communication: [1]

Recommended Videos:

  • Arduino + p5js Serial Communication: [1]

Homework 13 | due: 2024/12/09 - 5PM


Week 14 (2024/12/09)

  • Processing Signals
  • Average Filtering
  • WiFi and BLE

Class Materials:

Tutorials:

Recommended Readings:

  • An overview of HTTP: [1]
  • HTTP Server with the ESP32: [1]
  • Bluetooth and p5.ble: [1] [2] [3]

Recommended Videos:

  • WiFi: Arduino HTTP Server: [1]
  • WiFi: p5js HTTP Client: [1]
  • BLE Intro: [1]

Homework 14 | due: 2024/12/17 - 5PM