Week 1: Introduction to Electricity
January 30 (Wednesday 2:40 – 5:20) Class 1
- Introductions
- Why are we here? What’s the class about?
- Review syllabus
- Examples, get excited
- http://intro.nyuad.im/2019/01/24/examples/
- Lecture and demonstration
- Electricity
- Breadboards
- Assignment due February 6
- Create a circuit with a switch that doesn’t require the use of your hands. As always, make a post on the blog about it.
- Examples:
-
Get creative with switches: https://itp.nyu.edu/
physcomp/labs/labs- electronics/switches/#Get_ Creative_With_Switches -
Mustache Example: http://itp.nyu.edu/~
tlc345/blog/mustache-switch/
-
- Examples:
- Create a circuit with a switch that doesn’t require the use of your hands. As always, make a post on the blog about it.
- Readings
Week 2: Introduction Arduino: Digital Input and Output
February 4 (Monday 4:05 – 5:20) Class 2
- WordPress
- Observation assignment (in class)
- Readings
- Digital Input & Output
- Arduino Uno Getting Started guide
- Microcontrollers, the basics. Don’t worry too much about the details, just get the concepts
- Arduino
- Install the Arduino IDE (not the Arduino Web Editor) from https://www.arduino.cc/en/Main/Software (Due February 6)
- Following the Arduino Uno Getting Started guide, connect your Arduino to your laptop, open the IDE and then the Blink sketch, and try to upload the sketch to your Arduino. Don’t worry too much if it doesn’t work but do give it a try so you’ll know whether you will need help on Wednesday.
February 6 (Wednesday 2:40 – 5:20) Class 3
- Show your switch
- Discuss circuit analogies
- Lecture and Demo
- Introduction to Arduino programming and basic digital input and output
- Assignments
- Expanding on your initial switch from last week, make a program with the Arduino that combines multiple digital inputs and outputs Due February 11
- Readings
- The Art of Interactive Design Chapter 1. Write a blog post with a 100 – 200 word response. Due February 11
Week 3: Arduino Analog Input
February 11 (Monday 4:05 – 5:20) Class 4
- Discuss The Art of Interaction Design
- Show work
- Readings
February 13 (Wednesday 2:40 – 5:20) Class 5
- Lecture and demonstration
- Analog input (try to get to two sensors so the assignment can be more interesting. the only other resistive sensor the kit has a trimpot.)
- map()
- Serial.print
- Variables
- Conditionals
- millis()
- Assignments
- Readings (please post responses for both due February 18):
- Chapter 1 of The Design of Everyday Things, The Psychopathology of Everyday Things
- Get information from an analog sensor and use it to control an LED in an unexpected way. Write a blog post documenting your work including concept, sketches, circuit, program, problems (and solutions if any), and anything else you can think of. due February 18
- Readings (please post responses for both due February 18):
Week 4: Arduino Analog Output
February 18 (Monday 4:05 – 5:20) Class 6
- show your work
- discussion of readings
- Reading:
- Analog Output (note the videos at the beginning)
- tone
- servos
February 20 (Wednesday 2:40 – 5:20) Class 7
- Zimoun Installation Visit (class will meet at the Art Gallery)
- Lecture and demonstration
- analogWrite()
- tone()
- servo()
- Assignment
- Work in pairs: Make a musical instrument using tone AND one or more servos (due February 25)
- Brainstorm ideas for your midterm, present ideas in class on Monday (due February 25)
- Reading (write blog posts for both separately due February 27):
Week 5: Start Midterm Project
February 25 (Monday 4:05 – 5:20) Class 8
- Show your musical instrument
- Start working on midterm project (due March 6)
- Show off your knowledge of all I/O (analog and digital, input and output). Incorporate an input and output that demonstrates some basic algorithmic processing. Here is a great version of this concept.
- Your project does not need to be practical but could be whimsical, delightful, suprising, wonderful, or fun.
- Assignments
- Start working on your midterm project
February 27 (Wednesday 2:40 – 5:20) Class 9
- Debugging
- General tips and building tricks
- Lab tools workshop with Ume and Jack
- Discussion of readings
Week 6: Midterm Due & Motors and Transistors
March 4 (Monday 4:05 – 6:30) Class 10 (MAKE UP CLASS)
- In class work on midterm projects
- Readings
- Making Things Move, Ch 6
- Using a Transistor to Control High Current Loads with an Arduino lab at NYU ITP
March 6 (Wednesday 2:40 – 5:20) Class 11
- PRESENT MIDTERMS
- Lecture and Demonstration
- Motors, transistors, relays, and other high current loads.
- Assignments (due March 11)
- Using your motors, make a motion like a person
- Reading:
Week 7: Introduction to Processing
- Show your motor project
- Discuss readings
- Hand out Self Test: You will not be graded on this, but please return it to me next class meeting
- Download and install Processing
- Readings
March 13 (Wednesday 2:40 – 5:20) Class 13
- Discuss Self Test
- Lecture and Demonstration
- Drawing shapes programmatically
- Using the cursor to draw
- Assignments (due April 1)
- Make a self portrait
- Readings (write blog post):
- Chapter 1 of Norman “Emotion & Design: Attractive things work better”
March 18 (Monday 4:05 – 5:20) Class 14
- Will need to make up this class
March 19-30 (Mon-Fri) – Spring break
Week 8: Computer Art
April 1 (Monday 4:04 – 5:20) Class 15
- Show your self portraits
- Discuss Reading
- Do self test
April 3 (Wednesday 2:40 – 5:20) Class 16
- Discuss self test
- More drawing
- Introduction to functions
- Assignments due April 8
- Recreate an old computer art design from an issue of “Computer Graphics and Art” Triangulation has a bunch of the old issues of the magazine as pdfs
- Write a blog post about Casey Reas’ Eyeo talk on chance operations
April 6 (Saturday) – Rain Room trip!
Week 9: Object Oriented Programming
April 8 (Monday 4:05 – 5:20) Class 17
- show your work
- discuss readings
April 10 (Wednesday 2:40 – 5:20) Class 18
- Lecture and Demonstration
- Objects
- Classes
- Assignments due April 15
- Make an art piece or a game using object oriented programming.
- Reading (write blog post)
- Graham Pullin’s Design Meets Disability
Week 10: Arrays and Text
April 15 (Monday 4:05 – 5:20) Class 19
- Show your art piece or game
- Discuss reading
April 17 (Wednesday 2:40 – 5:20) Class 20
- Lecture
- Arrays
- Text
- Assignments
- Either make some sort of data visualization, or create a generative text output due April 24
- Readings due April 22
- Digitize everything (blog post)
- Either make some sort of data visualization, or create a generative text output due April 24
Week 11: Serial Communication & Final Project: Introduction and Examples
April 22 (Monday 4:05 – 5:20) Class 21
- Show your data visualization or generative text output
- Discuss reading
April 24 (Wednesday 2:40 – 5:20) Class 22
- Lecture and Demo
- Sending one byte from Arduino to Processing
- Sending one byte from Processing to Arduino
- Assignments (due April 29)
- Brainstorm ideas for your final project. Your blog post should include the concept, technical requirements, equipment needs, and block diagrams of the physical construction, electronics, and program in as much detail as possible. Hand drawn sketches are fine. You may incorporate concepts that we have not yet covered in class if you are quite confident that you can accomplish them; otherwise, stick to what we’ve covered already.
- Make a physical controller or physical output for something you have made in Processing using serial communication
- Write on this blog a paragraph or two about what computing means to you at this point. Is it adding something to your life? Is it helping you become a better person? What are you getting out of it, what do others get from it?
Week 12: Pixels & Images
April 29 (Monday 4:05 – 5:20) Class 23
- Discuss what computing means to you
- Discuss final projects and provide feedback
- Show your physical controller or physical output device
- Assignments (due THIS WEDNESDAY May 1)
- Final projects
- Revise your final project concept based on feedback received in class, both conceptual and technical. Write a blog post which describes the technical requirements, equipment needs, physical construction, electronics, and program in much more detail. Identify the three most difficult, complicated, or frightening aspects of your final project. In your blog post explain why you chose these three aspects.
- Start gathering required components
- Final projects
May 1 (Wednesday 2:40 – 5:20) Class 24
- Discuss final projects and provide feedback, especially regarding the three crucial aspects
- Lecture and Demo
- Pixels and Images
- Assignments (due May 6)
- Final projects
- Build or program the three most difficult, complicated, or frightening aspects of your final project. This does not need to be yet in its final form but you must demonstrate that these aspects can work as you anticipated
- Write a blog post about what problems you ran in to and how you solved them. Identify any questions, uncertainties, or remaining problems
- Read Golan Levin’s notes on computer Vision for Artists (blog post)
- Final projects
Week 13: Computer Vision
May 6 (Monday 4:05 – 5:20) Class 25
- Show your final project progress: demonstrate the three aspects you chose that are now solved.
- Discuss reading
- Assignments (due THIS WEDNESDAY May 8)
- Final projects
- Prototype your whole project. There can be parts that are still missing but you must identify clearly what they are and how you intend to complete them (this is a lot to do in two days)
- Final projects
May 8 (Wednesday 2:40 – 5:20) Class 26
- Demonstrate your final project prototype
- Lecture and demonstration
- Image Processing and Tracking
- Assignments (due May 13)
- Complete your final project
- Do user testing with at least 3 people. Record video of them playing with your project as well as their feedback. Before class on Monday post this user testing documentation on the blog. Also address the testers’ feedback indicating what you’ll do or not do based on what they said and why.
Week 14: Final Projects Due
May 13 (Monday 4:05 – 5:20) Class 27
In class work on final projects
May 15 (Wednesday 2:40 – 5:20) Class 28
- Final project due!
May 16
- IM Show!