Course Syllabus
0. Course Subject and Workload.
True literacy means being able to both read and write. If using pre-existing
software (such as Photoshop) is akin to “reading” digital media, then programming
is the equivalent of writing. This course is concerned with developing your ability
to be literate in this way -- specifically, creating software to satisfy aesthetic,
personal and/or social motivations. Now think back to how long it took you to
learn to read and write English. And how much longer it took for you to learn
to write articulately, fluently, precisely, and economically. And how much longer
it took before you developed a clear voice of your own. Learning to write software
is similarly difficult. We have a lot of catching up to do, and this class is
a LOT of work. If you already know the mechanics of writing software, this class
is even MORE work, because you must cut your own path towards finding your own
artistic voice in this incredibly impersonal and difficult medium. No two ways
about it: this class is a TON of work. If your desire to be computationally literate
is just velleity -- a mere wish, unaccompanied by effort to obtain -- drop the
course now.
1. Enrollment.
"Waitlisted" students should not
be concerned about their status as such. This status is assigned automatically
by the School of Art in order to prioritize seats for CFA students. Additionally, flaws in the registration system encourage many students to over-enlist; as a result, many students both waitlisted and registered will never show up. Consequently there
is no shortage of places in the class and you should all consider yourself enrolled.
After a couple of weeks pass, and the roster has settled down, I'll add all of
the waitlisted students adminstratively.
2. Course Programming Environment.
This semester we will once
again be using the Processing development environment. This is a free, cross-platform,
comprehensive educational system for developing interactive graphics and other
computational systems. I am happy to report that we will be using some of Processing's
latest OpenGL-based features. Additionally, we will also be among the first people
to test-drive the new Processing textbook, which is not yet published or available
in stores.
To get started with Processing, please download the latest distribution from: http://www.processing.org/download/. If you're on a school PC, you may need to download into a temp directory. Extract the compressed download, and run "Processing.exe". Load up an example program, using the menu, for example: File|Sketchbook|Examples|Drawing|ContinuousLines. Press the play button (right-pointing triangle) to make the program run.
3. Coursework Management System: How to use.
Step 1: You will first
need to create a (successfully-compiling) program in Processing, and then "Export" (Control-E)
the project into a compiled applet. This will yield a .jar file (a "java
archive" file, which is created for you in the Processing Sketchbook in your "My
Documents" directory when you do the Export) -- which is the file you will need
to upload to the courseware website. On a PC, this file will be located (by default) at: My_Documents|Processing|mySketch|applet|mySketch.jar, where mySketch is whatever name you saved your sketch with.
Step 2: To upload the file, log in to the following
web site: http://artscool.cfa.cmu.edu/~levin/courses/dmc/iig_06f/login/
(Your user names and passwords have been sent to you by email.) Type a short description
of the project in the "Description" field; copy-paste your code into
the "Code (if Any)" field; and upload the .jar file into the "Medium" field. You
will also need to specify the width and height of the applet's rectangle. Leave the "Photo" field blank for now. Press the button to submit
the exercise.
Step 3: In a *separate* saving operation, upload a 100x100 pixel image of
your project into the "Photo" field.