Week 1 (Sept. 7 & 9)
Primitive shapes, Programming concepts
Install Processing on your computer before Wed. (Sept. 9): https://processing.org/download/
Assignments:
-
- Production:
- Due Sept. 14 (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. 14 (post documentation on blog): Make a self-portrait using Processing.
- Reading:
- Due Sept. 14:
- Production:
Week 2 (Sept. 14 & 16)
Animation, Conditionals, Loops
Assignments:
-
- Production:
- Due Sept. 21st (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. 21st (post documentation on blog): Using loops (
- Reading:
- Due Sept. 21st: Watch Casey Reas’ Eyeo talk on chance operations, be prepared to discuss
- First group is Ons & Aayush!
- Guidance on this discussion format can be found here
- 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.
- Due Sept. 21st: Watch Casey Reas’ Eyeo talk on chance operations, be prepared to discuss
- Production:
Week 3 ( Sept. 21 & 23)
Functions, Arrays, and Object-Oriented Programming
Assignments:
- Production:
- Due Sept. 28th (post documentation on blog): Create either an artwork or a game 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 game or artwork
- Include the image(s) or link(s) to video
- Describe any problems you ran into
- Due Sept. 28th (post documentation on blog): Create either an artwork or a game 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. 28th: read The Art of Interactive Design, Ch. 1, be prepared to discuss Suzan S. & Mikołaj 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. 28 & 30)
Loading Data, Displaying text (for class)
Assignments:
- Production:
- Due Oct. 5th (post documentation on blog): Either make some sort of data visualization, or create a generative text output.
- Reading:
- Due Oct. 5th: Chapter 1 of The Design of Everyday Things, The Psychopathology of Everyday Things, be prepared to discuss Susanne & David will 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 (Oct. 5 & 7)
Image Processing
Assignments:
- Production:
- Due Oct. 12th (post documentation on blog): Using image manipulation, can you incorporate special effects and get the rest of us in the class to say “wow”?
- Reading:
- Due Oct. 12th (be prepared to discuss both) Sarah & Ryan to lead:
Week 6 (Oct. 12 & 14)
Sound, introduce Midterm Project
Assignments:
- Production:
- Due Oct. 14th (no blog post needed): Bring an idea (or ideas) to class for your midterm. We will spend part of class on Wednesday working on your midterms.
- Due Oct. 18th (post documentation on blog): Make some progress on your midterm project:
- Midterm Project:
- Make a game using everything you have learned so far
- Due Monday Oct 26th
- Can be one or more players
- Must include
- At least one shape
- At least one image
- 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:
Week 6.5 (Oct. 18, Sunday, Legislative day – classes meet on Wednesday schedule)
FALL BREAK-ISH
Week 7 (Oct. 26 & 28)
Midterm due – Oct. 26th
Introduction to Electricity and Arduino Digital Input and output
Before Wednesday (Oct. 28th)
-
- Reading:
-
- Prepare a space for working with electronics
- Have your kits ready to use in class
- Have some space to work. There are many small components in the kit that will be easily lost, so ideally be seated at a table or desk with clear space around you.
- 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 ziptie 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.
- Prepare a space for working with electronics
-
- Be careful not to damage the wires or yourselves!
Assignments:
- Production:
- Due Nov. 2nd (post documentation on blog): Using at least three momentary switches (often called buttons), and at least three LEDs, create a puzzle that can be solved by pressing the buttons. Each switch must not simply turn on a corresponding LED.
- Reading:
- Due Nov. 2nd (be prepared to discuss both) Meera & Beethoven to lead:
- Read about analog output
- Read about analog Input
Week 8 (Nov. 2 & 4)
Analog Input and output, Mapping, data types, printing
Assignments:
- Production:
- Due Nov. 9th (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:
- 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 9 (Nov. 9 & 11)
Sound, Servo motor
Assignments:
- Production:
- Due Nov. 16th (post documentation on blog): 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. 16th (post documentation on blog): Make a musical instrument
- Reading:
- Due Nov. 16th (be prepared to discuss): Design Meets Disability, (Alia & Nathan will 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 10 (Nov. 16 & 18)
Serial Communication, introduce Final Project
Assignments:
- Production:
- Due Nov. 23rd (post documentation on blog): Make a simple game that involves some kind of communication between Arduino and Processing
- Due Nov. 23rd (post documentation on blog): Write a preliminary concept for your final project, which must incorporate both Arduino and Processing.
- Reading
Week 11 (Nov. 23 & 25)
DC motors, Construction and Debugging, Final Project Proposal
Assignments:
- Production:
- Due Nov. 25th (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. 30th (post documentation on blog): begin working on your final project, try to get the parts you think will be hardest completed.
- Due Nov. 25th (post documentation on blog): Refine your final project proposal, include the following:
Week 12 (Nov. 30 only , NO CLASS on Dec. 2)
Work on Final Project