Introduction To Computational Media
Danny Rozin
Requirements
- You are required to attend all class meetings and submit all weekly assignments, midterm and final projects.
- Grading (pass/fail) will be based on a combination of a few factors:
- Class participation including attendance and contribution to class discussion and engagement in other student’s projects.
- Quality of all projects and assignments, including conceptual, aesthetical and technical merit.
- Personal progress; how much did you advance from your initial state in this class.
Week 1 - Introduction
- Student and instructor personal introductions.
- What is programming? what is it good for? What kinds of programming languages are there?
- What is Processing.
- How to get Processing.
- Processing's coordinate system.
- Processing's simple drawing functions.
- PowerPoint Presentation
- Homework:
- Read Chapters 1, 2, and 3 from textbook.
- Signup for the ICM mailing list follow main ICM page
- Download and install Processing.
- Create your own beautiful screen drawing, using only 2D primitive shapes – arc(), curve(), ellipse(), line(), point(), quad(), rect(), triangle() – and basic color functions – background(), fill(), noFill(), noStroke(), stroke(). Remember to use size() to specify the dimensions of your window. (This is Exercise 2-9 from the book.) Get help with the functions at the Processing reference page
- Download and install FUGU
- Upload your homework to the Homework Wiki for Tuesday class,Homework Wiki for Wednesday class
Week 2- Variables, Conditions, Loops.
- Structure -
- setup() and draw()
- Code blocks
- System variables- *mouseX, mouseY ,pmouseX, pmouseY, width, height continous_line , Simple_drawing_system_variables
- System callbacks - mousePressed, mouseDragged continous_line_mousePressed,continous_line_mouseDragged
- Primitive data types - int , float, char
- Declaring variables - giving birth and name to a variable.
- Assigning values to variables - placing a value inside a variable using "="
- Using variables - getting a value from a variable Simple_drawing_variables
- Some math and incrementation * /+- % ++ -- Variables_ourStrokeWeight
- Using random - geting variation without user interaction using_random
- Conditional Statements - if - else - else if if_else
- Boolean expressions, logical operators - >,<, == , !, &&, || if_else_and
- Loops - while , for (do while) while_loop, for_loop
- PowerPoint Presentation
- Chris Kairalla's useful notes
- Homework
- Read chapters 4, 5, and 6 in Shiffman's book. Try exercises 5-6 and 5-8.
- Create a dynamic application. You can continue to elaborate on last week's assignment or you can create something new. Some possibilities include: using mouse position to change colors, using loops to make shapes shrink and grow, and using conditional statements to make shapes bounce around the screen. Also spend time working in pairs- your partner is listed on the homework wiki. You can post the assignment together or continue to develop it on your own.
Week 3- Functions and Objects
Week 4- Arrays and Loops
- Loops , while () for()
- Arrays- A variable for variables.
- Objects again
- PowerPoint Presentation
- Homework
- Read Chapters 6, 9, 10 and 11 from Shiffman's book
- Using arrays and loops, write a program that creates multiple instances of an object. Some possibilities might be a snow storm, a bunch of bouncing balls, or an army of robots. You can expand on a previous assignment or create a new project. You can work individually or in pairs (not assigned).
Week 5 -Strings and Files
Week 6- Serial and Video
- PowerPoint Presentation
- Why serial (PComp and Processing)
- External Libraries
- Asynchronous Communication Protocols
- Simple Serial Readsimple_serial_read
- Serial using textserial_text
- Dano's serial Example serial
- simple video display and tracking
- Simple Show Video video_show
- Track brightest point video_track_brightness
- bouncing balls with video balls_video
- Dano's video Examples page video
- Homework
- Read Chapters 15, 16, and 19
- Come up with an idea for your midterm project. Your midterm can be an expansion of a previous project, or a new project. Try to be realistic as to what you can accomplish in 2 weeks, but make sure that you are not compromising on concept for lack of time.
Week 7- Midterm Workshop
- Describe your midterm project in plain English. What will it do? How will people use it? Think about the user experience.
- Break your project down into steps.
- Turn the steps into pseudo code
- Convert pseudo code to code.
- Homework
- Finish Midterm presentations.
Week 8- MIDTERMS
- Show and discuss your project in class, keep it short, we can spend about 8 minutes a piece.
Week 9- MIDTERMS cont + image processing
- image processing:
- Homework
- Read Chapters 22 and 23
- start thinking of final project. Make it ambitious but achievable. You have 4 weeks which sounds like a lot but goes by fast, remember that your other classes will have finals too. Don’t compromise on concept but rather reduce the scope of your project if it becomes too ambitious.
Week 10- Propose Final Projects
- Video Processing
- tracking :
- brightness
- color
- change/ movement
- Masking:
- Chroma key
- background removal
- all examples in zip
- All students propose final projects
- Homework
- Read chapters 15 -16 in the book
Week 11- Final Project Workshop + 3D
- 3D Graphics
- #3D coordinate syestem
- transforms
- geometry, color, light, texture
- all examples in zip
- Students show progress/ discuss problems in final project.
- Homework
- Read chapters 13 -14 in the book
Week 12- Final Project Workshop
- Students show progress/ discuss problems in final project.
Week 13- Final Project Presentations
See list of projects at :
https://itp.nyu.edu/varwiki/ClassWork/Homework-Rozin-ICM-F08-1
https://itp.nyu.edu/varwiki/ClassWork/Homework-Rozin-ICM-F08-2
Week 14- Final Project Presentations
See list of projects at :
https://itp.nyu.edu/varwiki/ClassWork/Homework-Rozin-ICM-F08-1
https://itp.nyu.edu/varwiki/ClassWork/Homework-Rozin-ICM-F08-2
|