Weekly Schedule
Week 01 (2023/09/06)
- Review Syllabus
- Introductions
- Presentation: What is Programming?
- Presentation: What is p5.js?
- Setting up a local dev environment and GitHub
Class Materials:
Recommended Videos:
- How Transistors Do Math: [1]
- Git: [1]
- 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 Commiting using The GitHub App: [1]
- Cloning and Commiting using VSCode: [1]
Homework 01 | due: 2023/09/13 by 1PM
Week 02 (2023/09/13)
- Review Assignment
- Discuss Reading
- Presentation: Math Review
p5.js:
- Functions and Variables
- Pixels and Canvas
- Drawing Functions
- Transforms
Class Materials:
Recommended Readings:
Recommended Videos:
- Git: [1]
- Cloning and Committing using The GitHub App: [1]
- Cloning and Committing using VSCode: [1]
- Canvas and Drawings: [1]
- Colors: [1]
- Transforms: [1]
Homework 02 | due: 2023/09/20 by 1PM
Week 03 (2023/09/20)
- Review Assignment
- Discuss Reading
- Presentation: Git & Markdown
p5.js:
- Loops and Conditionals
- Variation and Randomness
Class Materials:
Tutorials:
Recommended Readings:
- Getting Started with p5js (Chapters 4): [1]
Recommended Videos:
Homework 03 | due: 2023/09/27 by 1PM
Week 04 (2023/09/27)
- Review Assignment
- Discuss Reading
- Presentation: Pseudo-code
p5.js:
- Transforms and Functions
- Mouse and Events
- Time, Movement and Animation
- Cycles
Class Materials:
Tutorials:
Recommended Readings:
- Getting Started with p5js (Chapters 5, 6, 8, 9): [1]
Recommended Videos:
Homework 04 | due: 2023/10/04 by 1PM
Week 05 (2023/10/04)
- Review Assignment
- Discuss Reading
p5.js:
- State
- Arrays
- Objects
- Data and CSV and JSON
Class Materials:
Tutorials:
Recommended Readings:
- Getting Started with p5js (Chapters 10 - 12): [1]
Recommended Videos:
Homework 05 | due: 2023/10/11 by 1PM
Week 06 (2023/10/11)
- Review Assignment
- Discuss Reading
p5.js:
- Objects
- Text and Strings
Class Materials:
Tutorials:
Recommended Readings:
Recommended Videos:
Homework 06 | due: 2023/10/18 by 1PM
Week 07 (2023/10/18)
- Review Assignment
- Discuss Reading
p5.js:
- More Classes
- Images and Pixel Array
Class Materials:
Tutorials:
Recommended Readings:
- p5.js's Field Guide To Debugging: [1]
- Getting Started with p5js (Chapters 7.1 - 7.8): [1]
- IDM's Image Processing Tutorial: [1]
Recommended Videos:
Homework 07 | due: 2023/10/25 by 1PM
Week 08 (2023/10/25)
- Midterm Presentations
p5.js:
- The DOM
- Sound Files
Class Materials:
Tutorials:
Recommended Readings:
Recommended Videos:
Homework 08 | due: 2023/11/01 by 1PM
Week 09 (2023/11/01)
- Review Assignment
- Discuss Reading
p5.js:
- Noise
- Libraries
- Image and Audio Processing
Class Materials:
Tutorials:
Recommended Videos:
Homework 09 | due: 2023/11/08 by 1PM
Week 10 (2023/11/08)
- Review Assignment
- Discuss Reading
- Presentation: Intro to Electronics
Arduino:
- Setting up
- 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 10 | due: 2023/11/15 by 1PM
Week 11 (2023/11/15)
- Review Assignment
- Discuss Reading
- Analog and Digital signals
- Finite-State Machines
Arduino:
- Serial
- Inputs: Analog and Digital
Class Materials:
Tutorials:
- Moving a Servo Motor (code)
- analogRead() with digitalWrite() (code)
- analogRead() with Photoresistors (code)
- Capacitance and Bananas (code)
- Piezoelectric Sensor (code)
- Piezo and Debounce (code)
- Piezo Knock Detection
Recommended Readings:
Recommended Videos:
Homework 11 | due: 2023/11/29 by 1PM
Week 12 (2023/11/29)
- Review Assignment
- Discuss Reading
- More C++ Quirks
- Processing Analog Signals
Arduino:
- Average Filtering
- Communicating with p5js
Class Materials:
Tutorials:
- Arduino + p5js Serial Communication (code)
- WiFi: Arduino HTTP Server (code)
- WiFi: p5js HTTP Client (code)
Recommended Readings:
- Serial Communication: [1]
- An overview of HTTP: [1]
- HTTP Server with the ESP32: [1]
- Bluetooth and p5.ble: [1] [2] [3]
Recommended Videos:
- Arduino + p5js Serial Communication: [1]
- WiFi: Arduino HTTP Server: [1]
- WiFi: p5js HTTP Client: [1]
- BLE Intro: [1]
Homework 12 | due: 2023/12/06 by 1PM
Week 13 (2023/12/06)
- Review Assignment
- Discuss Reading
p5.js:
- More Sound Library
Arduino:
- Communicating with p5js
Class Materials:
Tutorials:
Recommended Readings:
Recommended Videos:
- The Coding Train Sound Tutorials: [1]
Homework 13 | due: 2023/12/13 by 1PM
Week 14 (2023/12/13)
- Review Assignment
- Discuss Reading
- Guest Speaker
- Final Project preview, feedback and adjustments