Spring 2019 Weekly Schedule

Week 1: Introduction to Electricity

January 30 (Wednesday 2:40 – 5:20) Class 1

Week 2: Introduction Arduino: Digital Input and Output

February 4 (Monday 4:05 – 5:20) Class 2

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

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):
    • 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

Week 4:  Arduino Analog Output

February 18 (Monday 4:05 – 5:20) Class 6

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

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)

March 6 (Wednesday 2:40 – 5:20) Class 11

Week 7:  Introduction to Processing

March 11 (Monday 4:05 – 5:20) Class 12

March 13 (Wednesday 2:40 – 5:20) Class 13

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

April 6 (Saturday) –  Rain Room trip!

Week 9: Object Oriented Programming

April 8 (Monday 4:05 – 5:20) Class 17

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)

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

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

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)

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)

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!