Week 1 : Introduction
- What do you want to do?, What do computers do?
- Learning Strategies. High vs Low Level
- Where does Processing fit in?
- Download Processing
- Look at Reference
- Upload Homework
- Screen Coordinates
- Reading:
- Non Zero, Robert Wright, Invisible Brain
- As We May Think, Bush
- Assignment: Hello world, paint a picture by plugging in numbers
Week 2: Three Things on the Workbench
- Breath: loops
- Rules: If statements
- Change: Variables
- Code Blocks
- Initialization: setup
- Main Loop: draw
- Algorithm > Pseudo Code > Processing--Know what you want in English before you try computer code
- Println() Xray Vision for Variables
- Handout
- Assignment: (one of the following)
- Make your picture oscillates, Have a ball bounce off of a wall, Have a blob grow and shrink or cycle through colors
Week 3 : Modularity: Functions and Objects
- Handers, Routines, Functions,Objects are all ways of Modularizing your code
- Reuse
- Encapsulations of Complexity
- Passing Parameter Variables
- Objects: One Stop Shopping, Data and Functions in one nice package
- Reading: Cathederal and the Bazaar, Eric S. Raymond
- Function Handout, Objects Handout
- Assignment:
Week 4 : Many: Arrays and Repeat Loops
- Repeat Loops
- Limited Duration -- Sometimes you want to do something a couple of times but not all the time.
- Good for animations.
- Saves Tedious Typing -- if sebsequent lines are are only slightly different, you can use a variable and a repeat loop to make your code neater and faster.
- Arrays are variable variables
- Reading: Pattern on the Stone, W. Daniel Hillis
- Handout
- Assignment: (one of the below
Week 5 : Get Networking
- HTTP connections (LoadStrings)
- String Parsing (indexOf, substring, length,split)
- Assignment: Pull something off the internet into processing.
- Handout, shiffman's handout
- Reading Selfish Gene, Dawkins http://www.rubinghscience.org/memetics/dawkinsmemes.html
Week 6 : Get Out: Microcontrollers and Cameras
- Intersection with Physical Computing
- External Libraries
- Asynchronous Communication
- Protocols- Agreements
- Example Serial
- Example Video
- Assignment: Do something with novel inut or output using more than keyboard, mouse, screen.
Week 7 Midterm Workshop
- Try to find a nice scope for everyone's midterm project.
- Describe your project completely in English
- Break your project down into steps. Algorithm.
- Thin your project down to the simplest thing that can proove the concept.
- Convert your algorithm into psuedo code
- Covert your psuedo code into code.
- Get rid of syntax errors.
- Get ride of runtime errors.
- Refer back to your algorithm and get rid of errors in your process.
- Reading: Hackers and Painters
- Assignment: Do a project that solidifies some of the concepts that we have covered and perhaps takes another step.
Week 8 MIDTERM ASSIGNMENT
- Show Midterm
- Assignment:Write a 3 page socratic dialog. and Orality and Literacy. You can put forward any hair brain theory that has been bouncing around in your head during the past couple of weeks. If you are at a loss, you could pick one of these suggested topics:
- What are the essential differences between Computational Media and more established media?
- Does nonlinear media better depict your interior life?
- Phaedrus talks about the dangers of writing, what are the dangers of comutational media?
- Why do people want to interact?
- Will computers make the world a safer, more just place?
Week 9 Java
- We have secretly be writing java.
- Explicity adding "public class myClass extends PApplet" at the top and an extra curly bracket at the bottom puts you into java mode.. The name of your class should be the same name as your project. Now you are talking Java and Processing revealed to be more of an environment or a text editor for writing it. You have been calling friendly functions in PApplet that have been intern calling less friendly. Java functions. Check out the dirty java behind your processing calls here.
- Import statements
- The wide world of Java http://java.sun.com/j2se/1.4.2/docs/api/
- Particularly useful things like ArrayLists, Rectangles, GUI
- Try Catch for errors.
- Examples
- Arraylists Points and Rectangles in RectangleTarget, for your old shootem' up
- ArrayList Google Dogs to parse text.
- GUI text input
- GUI with thread, implements and catch GUICatch
- Java is a big subject, by a book like Heads First
Week 10 Imaging Propose Final Project
Week 11 PHP Propose Final Projects
Week 12 Final Projects in Progress
Week 13 Final Projects in Progress
Week 14 Show your work
REQUIREMENTS: (no incompletes)