Introduction to Computational Media Syllabus
Week 1 -- Introduction
- Class Introductions
- Why are we here? What is computational media? What is programming? What is it good for? What kinds of programming languages are there?
- The Algorithm
- High Level vs. Low Level.
- Processing and the Java Virtual Machine
- The Fundamentals of Programming
- Coordinate Systems
- Shapes and Color -- tutorial on learningprocessing.com
- Code itself & The Reference
- Pressing the "Play" button
- Exporting as an applet vs. application
- Chapters 1-2 from Learning Processing.
- Also, chapters 1-3 from Getting Started with Processing
- download and install Processing
- Sign up for course mailing list!
- Create your own screen drawing, using only 2D primitive shapes – arc(), curve(), ellipse(), line(), point(), quad(), rect(), triangle() – and basic color functions – background(), colorMode(), fill(), noFill(), noStroke(), stroke(). Remember to use size() to specify the dimensions of your window.
- Upload your assignment and post a link to the homework wiki (Wed Class, Thur Class).
- Examples: http://www.learningprocessing.com/examples/ -- take a look at Chapter 1 and 2 (3 if you are feeling ambitious).
Week 2 -- Interaction and Variation
- PowerPoint Presentation
- The flow: code blocks, setup, draw, and events
- Variables: Declare, Initialize, Use
- Other Resources:
- Read Chapters 3-4 from Learning Processing.
- Also, chapters 4-5 from Getting Started with Processing
- Create a dynamic application. You can continue to elaborate on last week's assignment or you can design something new. For example, move your shapes around the screen according to mouse / keyboard interaction. Use variables to change colors, grow and shrink your design, etc.
Week 3 -- Conditionals, Loops
- Boolean Variables
- Read Chapters 5-6 from Learning Processing.
- Try Exercise 5-6 and Exercise 5-8. We will go over answers in class.
- Homework: Continue to elaborate on last week's assignment incorporating conditionals.
Week 4 -- Modularity: Functions
- Functions: Modularity!
- Re-usability and Parameter Passing
- Chapters 7 and 8 from Learning Processing.
- Also, chapters 8-9 from Getting Started with Processing
- Try exercise 7-8 and Exercise 8-5. We will go over answers in class.
- Re-organize the code of a previous assignment or example using functions and objects. If you are inspired by the power of modularity, feel free to elaborate on the assignment. Post results to the wiki: Wed Class, Thur Class
Week 5 -- Multiplicity: Arrays and Objects
- PowerPoint Presentation
- for the brave - 2D array
- Dano's handout
- Chapters 6 and 9, from Learning Processing.
- Homework: Using arrays and loops, write a program that creates multiple instances of an object (feel free to use an object you developed previously or create something new).
- Try Exercise 9-6 and Exercise 9-7.
Week 6 -- Images and Pixels
- Video as Image
- Video as Sensor
- More Examples:
- Learning Processing, Chapters 15-16
- Homework: Incorporate the pixels of an image (or video) into a Processing sketch.
- Midterm: Brainstorm an idea for a midterm project. Feel free to think of your midterm on as grand a scale as you like, however, the midterm assignment will involve implementing only one step of a larger project. Remember, it's only a one week assignment! Be prepared to speak briefly about your midterm idea next week.
Week 7 -- Review and Midterm Workshop, also basic Strings
- Strings examples from book:
- some more:
- Mentioned in class:
- Chapter 17-18, Learning Processing
- Homework: Complete midterm assignment and be prepared to show your work next week. .
Week 8 -- Show Midterms
Week 9 -- Loading and saving external data into/from Processing
- Homework: Create a Processing sketch that loads external data or saves external data, or both. Post a link to your assignment on the wiki. Wed, Thur
Week 10 -- Processing and the internet
- Server + database
- Homework: Prepare a final project proposal. Create a web page or blog post with title, description, sample imagery, diagrams, Processing code, etc. Presentations will be split over the next two weeks. Check the wiki for assigned date: Wed, Thur
Week 11 -- Propose Final Projects plus transformations and 3D
Week 12 -- Propose Final Projects plus video tracking and manipulation
- Video Processing
- tracking :
- change/ movement
- Chroma key
- background removal
- all examples in zip
Week 13 -- Final Project Presentations
Week 14 -- Final Project Presentations
- You are required to attend all class meetings and submit all weekly assignments, a midterm, and a final project.
- Grading (pass/fail) will be based on a combination of factors:
- Attendance and participation in class discussion and engagement in other students' projects.
- Quality of weekly assignments, midterm, and final project.
- Personal progress; how much did you advance from your initial state in this class.