Main Page

From Programming for Artists
Revision as of 10:12, 18 August 2012 by Moorejoseph (Talk | contribs) (Objectives)

Jump to: navigation, search

Programming for Artists

  • Prof. Joseph Moore
  • Thursday 2:00 - 4:50
  • http://joseph-moore.com
  • email: understandingnewmedia@gmail.com
  • Office hours: Monday 2 - 5pm

Useful Links

Course Description

Programming for Artists is an entry level programming class geared toward teaching artists fundamental aspects of computer programming.

Objectives

  • Learn fundamental programming concepts and approaches.
  • Gain knowledge of artists working with computation.
  • Apply this knowledge effectively in the creation of artworks.

Student Responsibilities

  • Turn in work on time, late work will not be accepted with penalty!
  • Turn in work before class starts on the course wiki.
  • Sign the role, this is how I know you were in class!
  • Participate in discussion.

Method of Evaluation

  • Participation and Attendance: 20%
  • Exercises: 20%
  • Midterm: 30%
  • Final: 30%

The grade you receive will be based on participation, exercises, a sketchbook, and a final project. Attendance is required for every class and missing 3 classes = an automatic failure of the course. Late work will not be accepted without penalty. 1 week late = a subtraction of 2 letter grades. More than a week = a failing grade. If you do turn in work late, you must email me immediately after you post a link to the project on the wiki. Missing more than 3 classes is an automatic failure in the course.

Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY's policy on plagiarism here.

Class Etiquette

When I am presenting the class lecture I ask that students refrain from texting, checking their email, etc. I will not do those things when you are speaking and I ask for the same courtesy. This same respect should be extended to your fellow classmates. If someone is being disrespectful during critique they will receive a 0 for the day.

The textbook for this course is Learning Processing my Daniel Shiffman. Any other reading will be handed out during class or it will be available online.

Class Schedule


Class 1 8/30

In Class

  • 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.
  • Download Processing 2.0 (currently 2.0a8) here.
  • creating a static sketch
  • drawing simple shapes
  • using color
  • function calls
  • comments
  • Sol LeWitt wall drawing instructions
  • uploading homework

Class 2 9/6

In Class

  • Examine Exercise 1
  • Repetition, Variation, and Transformation
  • using setup() and draw()
  • basic mouse interaction

Homework Due

  • Read chapters 1-3 in the book.
  • Exercise 1: Create a Processing sketch based on a Sol LeWitt wall drawing instruction found here.

Class 3 9/13

In Class

  • Primitives
  • Variables
  • Conditionals and Boolean Logic

Homework Due

  • Read Chapters 4: Variables and 5: Conditionals
  • Exercise 2: Write a "drawing machine" program.

Class 4 9/20

In Class

  • Loops and Iteration
  • The while loop
  • The for loop
  • random()
  • Perlin noise

Homework Due

  • Read Chapter 6: Loops
  • Exercise 3: Create an animated or still image that changes based on mouse interaction.

Class 5 9/27

  • FIELDTRIP to the New Museum!

Class 6 10/4

In Class

  • Functions
  • scope
  • View Exercise 4.

Homework Due

  • Read Chapters 7: Functions
  • Exercise 4: Create a “chance composition” using input from the user and your own algorithm encapsulated in a function.

Class 7 10/11

In Class

  • Objects
  • Arrays
  • Debugging
  • Using libraries

Homework Due

  • Read Chapter 8: Objects and 9: Arrays
  • Exercise 5: Create an object-oriented version of your drawing machine.

Class 8 10/18

In Class

  • Work on midterm in class

Homework Due

  • Work on Midterm.

Class 9 10/25

In Class

  • Midterm due

Homework Due

  • Midterm

Class 10 11/1

In Class

  • Image Processing

Homework Due

  • Read Chapter 15: Images

Class 11 11/8

In Class

  • Processing video
  • Camera as sensor

Homework Due

  • Read Chapter 16: Video
  • Exercise 6: Create 3 animations using no more than 4 images each.

Class 12 11/15

In Class

  • T.B.A.

Homework Due

  • Final Proposal Due
  • Exercise 7: Create a project using the processing video library.

Class 13 11/29

In Class

  • Show what you learned in completing Exercise 8

Homework Due

  • Exercise 8: Chose a programming topic you would like to explore further or one that we haven't gone over during the semester. Create a simple project using this new found knowledge and be prepared to explain what you learned to the class.

Class 14 12/6

In Class

  • Work on Final Project

Homework Due

  • Work on Final Project

Class 15 12/20

In Class

  • Final Critique

Homework Due

  • Final Project!