Difference between revisions of "Main Page"
Moorejoseph (Talk | contribs) (→Programming for Artists) |
Moorejoseph (Talk | contribs) (→Class 11 11/20) |
||
Line 184: | Line 184: | ||
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image] | ** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image] | ||
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity] | ** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity] | ||
− | ** [http://understandingnewmedia.com/p4a/examples/ | + | ** [http://understandingnewmedia.com/p4a/examples/image_3 example 3: an array of images] |
+ | ** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels] | ||
+ | ** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 4: drawing pixels 2] | ||
* Introduction to Video | * Introduction to Video | ||
Revision as of 15:49, 25 November 2012
Contents
- 1 Programming for Artists
- 1.1 Useful Links
- 1.2 Course Description
- 1.3 Objectives
- 1.4 Student Responsibilities
- 1.5 Method of Evaluation
- 1.6 Class Etiquette
- 1.7 Textbook
- 1.8 Class Schedule
- 1.8.1 Class 1 8/28
- 1.8.2 Class 2 9/4
- 1.8.3 Class 3 9/11
- 1.8.4 Class 3 10/2
- 1.8.5 Class 4 10/9
- 1.8.6 Class 6 10/16
- 1.8.7 Class 7 10/23
- 1.8.8 Class 8 10/30
- 1.8.9 Class 9 11/6
- 1.8.10 Class 10 11/13
- 1.8.11 Class 11 11/20
- 1.8.12 Class 12 11/27
- 1.8.13 Class 13 12/4
- 1.8.14 Class 14 12/11
- 1.8.15 Class 15 12/18
Programming for Artists
- Prof. Joseph Moore
- Tuesday 2:00 - 4:50
- http://joseph-moore.com
- email: understandingnewmedia@gmail.com
- Office hours: Monday 2 - 5pm
Useful Links
- http://processing.org/ The Software!
- http://www.learningprocessing.com/ Website for the Book!
- http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!
- http://www.cyberduck.org FTP Client!
- http://www.processing.org/learning/ Processing site tutorials!
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, 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.
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.
Textbook
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and online. Any other reading will be handed out during class or it will be available online.
Class Schedule
Class 1 8/28
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/4
In Class
- Examine Exercise 1
- RGB color mixing
- using setup() and draw()
- Basic mouse and keyboard interaction
- Variables (slides)
- Transformation Examples
- Abstraction and Movement
- Viking Eggeling's Diagonal Symphony (video)
- Marcel Duchamp's Anemic Cinema (video)
- Abstraction Movement Interaction (slides)
Homework Due
- Read chapters 1-3 in the book.
- Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.
Class 3 9/11
- Trip to the New Museum
Class 3 10/2
In Class
- Primitives
- Variables
- Conditionals and Boolean Logic
Homework Due
- Read Chapters 4: Variables and 5: Conditionals
- Exercise 2: Write a program that gives the user the ability to draw on screen. Try to make this an interesting and surprising experience for the user. Use conditionals that alter the "drawing experience" based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.
Class 4 10/9
In Class
- Loops and Iteration
- The while loop
- The for loop
- animating with draw()
- Variation and Transformation in Art
- Steve Reich
- John Whitney
- Ryoji Ikeda
- Paul Sharits and interview
- Josef Albers
- Alvin Lucier
Homework Due
- Exercise 3: Create a sketch that has a basic interface element such as a button. Clicking this button causes a change in the sketch. This change could be in terms of form, color, composition, or movement. Consider, how can you make something as mundane as button clicking an interesting part of the experience for the user of your application?
Class 6 10/16
In Class
- View Exercise 4.
Homework Due
- Read Chapter 6: Loops
- Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.
Class 7 10/23
In Class
- Introduction to Functions
- Block Scope
- random()
- Perlin noise
- Interactivity and Participation
- "Non-determinism" in Art
- John Cage
- Hans Arp
- William Burroughs
- Iannis Xenakis
Homework Due
- Improve Exercise 4 based on class feedback.
- Read Chapters 7: Functions
Class 8 10/30
In Class
- Work on Midterm
Homework Due
- Work on Midterm
Class 9 11/6
In Class
- Midterm Critique
Homework Due
- Midterm: Create a “chance composition” using algorithms you develop encapsulated in functions. The outcome of the program should be non-deterministic, meaning that you, as the author of the program, cannot be sure exactly what the outcome of the program will be.
Class 10 11/13
In Class
- Objects
- Arrays
- Debugging
- Using libraries
Homework Due
- Read Chapter 8: Objects and 9: Arrays
Class 11 11/20
In Class
- Introduction to Image Processing
- Introduction to Video
Homework Due
- Exercise 5: Create an object-oriented version of your Midterm.
Class 12 11/27
In Class
- View Exercise 6
Homework Due
- Exercise 6: Create a project using the processing video or image library.
Class 13 12/4
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.
- Final Proposal Due: Write a page describing your final project. The proposal should include both a technical description of the project (how/with what materials) and a more conceptual description (why/what ideas are you exploring.)
Class 14 12/11
In Class
- Work on Final Project
Homework Due
- Work on Final Project
Class 15 12/18
In Class
- Final Critique
Homework Due
- Final Project!