ICM-Dan-Shiffman-F07
Search:
Syllabus / ICM-Dan-Shiffman-F07

Introduction to Computational Media Syllabus

Daniel Shiffman

Week 1 -- Introduction

  • Class Introductions
  • Whaaaaaaaaaaaa? Why are we here? What is computational media? Can I program? What do I want to do?
  • The Algorithm
  • High Level vs. Low Level.
  • Processing and the Java Virtual Machine
  • The Fundamentals of Programming
  • Coordinate Systems
  • Shapes and Color
  • Code itself & The Reference
  • Pressing the "Play" button
  • Exporting as an applet
  • Read: Chapters 1, 2, and 3 from draft book. (Title suggestions anyone?)
  • Read: Hackers and Painters by Paul Graham
  • Sign up for course mailing list!
  • Homework: 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. (This is Exercise 2-9 from the book.)
  • Examples: See the wiki and the book.

Week 2 -- Interaction and Variation

  • The flow: code blocks, setup, draw, and events
  • Variables: Declare, Initialize, Use
  • Random
  • Conditionals
  • Boolean Variables
  • Loops
  • Read Chapters 4, 5, and 6 from draft book.
  • Try exercises 5-6 and 5-8. We will go over answers in class.
  • Homework: Create a dynamic application. You can continue to elaborate on last week's assignment or you can create something new. For example, develop a set of rules for moving it around the screen, have it grow and shrink, change colors, etc. Can you make it respond to mouse interactivity? Start by working in pairs (according to the wiki) You can post as a group or break off and complete the assignment individually. (This is Exercise 5-10 from the book.)

Week 3 -- Modularity: Functions and Objects

Week 4 -- Arrays (and Iteration review)

Week 5 -- Strings and Networking

Week 6 -- Microcontrollers and Cameras

Week 7 -- Review and Midterm Workshop

Week 8 -- Show Midterm

Week 9 -- Java

Week 10 -- Propose Final Projects

  • Translation and Rotation (Chapters 13 and 14 from book.)
  • OOPS! Examples for topics below to be posted later today (wed, nov. 7)
  • Z Axis
  • P3D vs OPENGL
  • Translate
  • Rotate
  • Custom shapes (vertex)
  • pushMatrix / popMatrix

Week 11 -- Proposal Final Projects

Week 12 -- Final Project Workshop

Week 13 -- Final Project Workshop

Week 14 -- Final Project Presentations

Requirements

  • You are required to attend all class meetings and submit all weekly assignments, midterm, and final projects.
  • Grading will be determined by the following factors:
    • Attendance and participation in class discussion and engagement in other students' projects. (25%)
    • Completion of weekly assignments and midterm (50%)
    • Completion of final project (25%).
    • Note that your work is evaluated based on your own personal progress through the class, i.e. how much you advanced from your initial state.
Search
  Page last modified on August 11, 2008, at 12:04 PM