Week 1 (Aug. 30 & Sept. 1st)
Primitive shapes, Programming concepts
Install Processing on your computer: https://processing.org/download/
Assignments:
-
- Production:
- Due Sept. 6th (post documentation on blog): Make a self-portrait using Processing.
- The portrait must be entirely created by your code i.e. you must not interact with your computer while the portrait is being made (e.g. no drawing using the mouse)
- The portrait does not need to be dynamic (i.e. it does not need to change while we look at it)
- The portrait does not need to be realistic. The purpose is to practice using the simple drawing functions.
- Due Sept. 6th (post documentation on blog): Make a self-portrait using Processing.
- Reading:
- Due Sept. 8th:
- Production:
Week 2 (Sept. 6 & 8)
Animation, Conditionals, Loops
Assignments:
-
- Production:
- Due Sept. 13th (post documentation on blog): Using loops (
for()
orwhile()
) in some way, along with everything that you’ve learned so far, make a simple work of art. You may want to look at these old computer art magazines for inspiration, but you don’t need to make your so elaborate. Scroll through and look for images:
- Due Sept. 13th (post documentation on blog): Using loops (
- Reading:
- Due Sept. 15th: Watch Casey Reas’ Eyeo talk on chance operations, be prepared to discuss (Jade and Theyab to lead)
- If you are new to functions or want to review, watch Dan Shiffman’s functions tutorials. There are four videos, each less than 10 minutes.
- Watch at least the first four of Dan Shiffman’s Object Oriented Programming tutorials.
- Production:
Week 3 ( Sept. 13 & 15)
Functions, Arrays, and Object-Oriented Programming
Assignments:
- Production:
- Due Sept. 20th (post documentation on blog): Create a generative artwork using Object-Oriented Programming. You may use arrays if you wish. Pay attention to the structure, clarity, and organization of your program. As always, document your project:
- Well commented code, especially for any confusing or tricky parts
- References to any examples or inspiration
- Functions as needed to organize your program
- Excellent names for variables and functions
- Post code and one or more images
- Describe the overall concept of your artwork
- Include the image(s) or link(s) to video
- Describe any problems you ran into
- Due Sept. 20th (post documentation on blog): Create a generative artwork using Object-Oriented Programming. You may use arrays if you wish. Pay attention to the structure, clarity, and organization of your program. As always, document your project:
- Reading:
- Due Sept. 22nd: read The Art of Interactive Design, Ch. 1, be prepared to discuss (Shamma and Chi-Ting will lead)
- Watch this two part (part 1 and part 2) video tutorial on transformations
- Watch this video tutorial on Perlin noise
Week 4 (Sept. 20 & 22)
Loading Data, Displaying text (for class)
Assignments:
- Production:
- Due MONDAY Sept. 27th: Look through the examples in this folder and try to understand what is happening in each example (except the google one, we’ll go over that in class). Write down all the questions you have about things you don’t understand. Everyone should have at least one question. We will work through your questions on Monday.
- Due WEDNESDAY Sept. 29th (post documentation on blog): Either make some sort of data visualization, or create a generative typography/text output.
- Reading:
- Due Sept. 29th:
- Watch Lauren McCarthy’s Eyeo talk You, Me and My Computer, be prepared to discuss (Toomi and Badr to lead)
- Read https://processing.org/tutorials/pixels/ or watch Shiffman’s videos: https://www.youtube.com/watch?v=-f0WEitGmiw&list=PLRqwX-V7Uu6YB9x6f23CBftiyx0u_5sO9&ab_channel=TheCodingTrain
Week 5 (Sept. 27 & 29)
Image Processing, introduce Midterm Project (download for class)
Assignments:
- Production:
- Due Oct. 6th (post documentation on blog): Make some progress on your midterm project:
- Midterm Project:
- Make a game using everything you have learned so far
- Due Oct. 13th
- Can be one or more players
- Must include
- At least one shape
- At least one image (and/or use of PGraphics and/or pixel access)
- At least one sound
- At least one on-screen text
- The game must start with a screen giving instructions, and must wait there until a button or key (your choice) is pressed
- After the game is won or lost, there must be a way to restart the game without closing and restarting the program
- Midterm Project:
- Due Oct. 6th (post documentation on blog): Make some progress on your midterm project:
- Reading:
- Due Oct. 6th (be prepared to discuss) Shanaia and Eric to lead:
Week 6 (Oct. 4 & 6)
Sound (download for use in class)
Assignments:
- Production:
-
-
- Complete Midterm
-
-
Week 7 (Oct. 11 & 13)
Midterm due – Oct. 13th
Assignments (do this before Oct. 25th):
-
- Reading:
-
- Get your kit from the bookstore.
- You will need a USB-A port. If you have a modern laptop with only USB-C ports, you will need to borrow or buy a USB-A to USB-C adapter.
- Install the Arduino IDE from here. If you are on Windows chose the Windows Installer.
- In your kit is a bundle of jumper wires with a very tight zip tie that must be carefully removed. Please do this before class because it may take you a while to find the right tool. A sharp pair of scissors should work. A knife might damage the wires and hurt you.
-
- Be careful not to damage the wires or yourselves!
FALL BREAK
Week 8 (Oct. 25 & 27)
Introduction to Electricity, arduino digital input & output
Assignments:
- Production:
- Due Nov. 3rd (post documentation on blog): Create an unusual switch that doesn’t require the use of your hands. Use Arduino digital input and output for the interaction.
- Examples:
-
Get creative with switches: https://itp.nyu.edu/physcomp/labs/switches/#Get_Creative_With_Switches
-
- Examples:
- Due Nov. 3rd (post documentation on blog): Create an unusual switch that doesn’t require the use of your hands. Use Arduino digital input and output for the interaction.
- Reading:
- Due Nov. 3rd (be prepared to discuss both) Ingy and Fatima Nadeem to lead:
- Read about analog output
- Read about analog Input
Week 9 (Nov. 1 & 3)
Arduino: analog input & output
Assignments:
- Production:
- Due Nov. 10th (post documentation on blog): Get information from at least one analog sensor and at least one digital sensor (switch), and use this information to control at least two LEDs, one in a digital fashion and the other in an analog fashion, in some creative way.
- Reading:
- Due Nov. 8th (be prepared to discuss both) Fatema Nassar and Leo to lead:
- Read about the voltage divider. Don’t worry about the theory too much or the section on level shifting. The important thing is to absorb a little of the concept of a voltage divider.
Week 10 (Nov. 8 & 10)
Sound, Servo motor, Mapping
Assignments:
- Production:
- Due Nov. 17th (post documentation on blog) – group assignment (2 people per group): In pairs, make a musical instrument
- You must use at least one digital sensor (switch)
- You must use at least one analog sensor (photoresistor, potentiometer, or distance measuring sensor)
- Due Nov. 17th (post documentation on blog) – group assignment (2 people per group): In pairs, make a musical instrument
- Reading:
- Due Nov. 15th (be prepared to discuss both) Rhythm & Ziyad to lead:
- It is important that you understand the concepts behind BlinkWithoutDelay. Here are links to various other explanations of the same thing. Browse them, and read one deeply enough that you understand. Come to class with questions if none of these help.
Week 11 (Nov. 15 & 17)
Serial Communication, introduce Final Project
Assignments:
- Production:
- Due Nov. 22nd (each person, not just one for a group, should post code for each exercise, and video of just the LED lighting up with the ball bouncing) Work in the groups from class to finish the three in-class examples exercises:
-
make something that uses only one sensor on arduino and makes the ellipse in processing move on the horizontal axis, in the middle of the screen, and nothing on arduino is controlled by processing
-
make something that controls the LED brightness from processing
-
take the gravity wind example (https://github.com/aaronsherwood/introduction_interactive_media/blob/master/processingExamples/gravityExamples/gravityWind/gravityWind.pde) and make it so every time the ball bounces one led lights up and then turns off, and you can control the wind from one analog sensor
-
- Due Nov. 24th (post documentation on blog): Write a preliminary concept for your final project, which must incorporate both Arduino and Processing.
- Final project prompt (examples are listed on syllabus page)
- Create a physically interactive system of your choice that relies on a multimedia computer for some sort of processing or data analysis. The Final should use BOTH Processing AND Arduino.Your focus should be on careful and timely sensing of the relevant actions of the person or people that you’re designing this for, and on clear, prompt, and effective responses. Any interactive system is going to involve systems of listening, thinking, and speaking from both parties. Whether it involves one cycle or many, the exchange should be engaging. You may work alone or in pairs.
- Final project prompt (examples are listed on syllabus page)
- EXTRA CREDIT Due Nov. 28th (post documentation on blog): Make a simple game that involves some kind of communication between Arduino and Processing
- Due Nov. 22nd (each person, not just one for a group, should post code for each exercise, and video of just the LED lighting up with the ball bouncing) Work in the groups from class to finish the three in-class examples exercises:
- Reading
- Due Nov. 24th (be prepared to discuss): Design Meets Disability Gopika & Bhavicka to lead discussion
Week 12 (Nov. 22 & 24)
DC motors, Construction and Debugging, Final Project Proposal
Assignments:
- Production:
- Due Nov. 24th – this Wednesday (post documentation on blog): Refine your final project proposal, include the following:
- Finalized concept for the project
- Description of what your Arduino program will do with each input and output and what it will send to and/or receive from Processing
- Description of what Processing program will do and what it will send to and/or receive from Arduino
- Due Nov. 28th (post documentation on blog): Commit to your project idea and doing it as solo or group. Begin working on your final project, identify the materials/space you need, and identify what you think will be hardest to complete, and start building it. Post the final idea, material/space needs, group/solo arrangement, and your progress on the project so far.
- Due Nov. 24th – this Wednesday (post documentation on blog): Refine your final project proposal, include the following:
LEGISLATIVE DAY Nov. 28 – SUNDAY – meets on Wed. schedule 2:40-5:20pm. No class Mon. Nov. 29 & Wed. Dec. 1
Work on Final Project
Assignments:
- Production:
- Due Dec. 8th (post documentation on blog):
- Get your project 90% complete
- Conduct user testing (record video)
- Due Dec. 8th (post documentation on blog):
Week 13 (Dec. 6 & 8)
Complete Final Project
Assignments:
- Final Project and final project documentation due at the beginning of class, Dec. 13th