ICM-Daniel-Shiffman-F11
Search:
Syllabus / ICM-Daniel-Shiffman-F11

Introduction to Computational Media Syllabus

Daniel Shiffman

Week 1 -- Introduction and Drawing -- Sep 7

  • Why are we here? What is computational media? What is programming? What is it good for? What kinds of programming languages are there?
  • Algorithmic Thinking
  • What is Processing? Why Processing?
  • Server-side vs. client programming
  • Things made with Processing: ProcessingLinks
  • Drawing with numbers
    • Coordinate Systems
    • Shapes
    • Color
  • Code
    • Processing reference
    • Running your application
    • Exporting: applet, application, android, javascript
  • Related Reading
  • Downloading Processing
    • This semester we are going to use an alpha release of Processing 2.0. The advantage of this is that we are using the leading edge newest version of Processing which includes Javascript mode, better support for video, and many other features. The downside to using 2.0 is that it is new and somewhat unstable, we may experience more bugginess than with the existing 1.5.1 version. In addition, some changes made for Processing in 2.0 will result in differences in the reference and examples on the Processing web site, as well as in the various Processing books. Changes are documented on the Processing wiki. If you think you have found a bug or are confused by a syntax difference, send an e-mail to the google group.
    • Download Processing 2.0 Alpha 1 (released 9/2/11): MACOSX, WINDOWS, LINUX
  • Homework

Week 2 -- Animation -- Sep 14

Week 3 -- Interaction -- Sep 21

Week 4 -- Functions & Objects: Part 1 -- Sep 28

Week 5 -- Functions & Objects Part 2 -- Oct 5

  • Objects: http://www.learningprocessing.com/examples/chapter-8/
    • Principles and Theory (Encapsulation)
    • How-to
    • The Constructor!
    • Objects talking to objects
  • Related Reading
  • Homework
    • Design a sketch in an object-oriented fashion. Try to eliminate all code from the main tab (setup() and draw()) except for the core requirements (size(), background(), etc.) and calls to objects.

Week 6 -- Repetition and Reproduction: Oct 12

  • Review loops: http://www.learningprocessing.com/examples/chapter-6/
  • Arrays: http://www.learningprocessing.com/examples/chapter-9/
  • What is an ArrayList?
  • Related Reading
  • 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).
    • 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 -- Pixels: Oct 19

  • Images http://www.learningprocessing.com/examples/chapter-15
    • Load and display
    • Sequence
    • Image Processing and the Pixel Array
  • Related reading:
    • Learning Processing, Chapters 15-16
  • Homework
    • Complete midterm assignment and be prepared to show your work next week. Link to a page that documents your work on the midterm assignment. Include a brief write-up of your idea as well as documentation of your implementation exercise. Remember, this is a one-week assignment and you aren't expected to complete your project, just take a first step. Everyone will present in class. Plan on speaking for 5 minutes or less (not including questions). Link to your documentation on the wiki: Homework-Shiffman-ICM-F11

Week 8 -- Show Midterms: Oct 26

  • Each student will present their midterm assignment. Plan on speaking for 5 minutes or less (not including questions). Talk briefly about your idea as a whole, what you chose to implement in just this one week, any problems you had, and future plans. We will follow the order on the wiki so feel free to move things around if you would like to present earlier or later in class (those at the bottom of the list have a chance of being pushed a week later.) Link to your documentation on the wiki: Homework-Shiffman-ICM-F11

Week 9 -- Video and Computer Vision: Nov 2

Week 10 -- Propose Final Projects + Data -- Nov 9

Week 11 -- Propose Final Projects + Data: Nov 16

  • Proposal Schedule: Homework-Shiffman-ICM-F11
  • (see e-mail to class list for examples)
  • P3D
    • translate, rotate, and scale
    • 3D shapes, vertices
    • textures
    • lighting
    • opengl rendering tricks
    • loading models
    • PShape

Week 12 -- Propose Final Projects: Nov 23

Week 13 -- Final Project Workshop: Nov 30

Week 14 -- Final Project Presentations, Dec 7

Requirements

  • 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, participation in class discussion, and engagement in other students' projects (25%)
    • Quality of weekly assignments and midterm (50%)
    • Final Project (25%)
    • Personal progress; how much did you advance from your initial state in this class.
Search
  Page last modified on November 30, 2011, at 10:52 AM