Difference between revisions of "Main Page"

From Programming for Artists
Jump to: navigation, search
(Class Schedule)
 
(143 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''MediaWiki has been successfully installed.'''
+
== Programming for Artists ==
 +
* Prof. Joseph Moore
 +
* Monday 6:15 - 9:05
 +
* http://joseph-moore.com
 +
* email: understandingnewmedia@gmail.com
 +
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205
  
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
+
=== 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.io FTP Client!
 +
* http://www.processing.org/learning/ Processing site tutorials!
  
== Getting started ==
+
=== Course Description ===
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list]
+
Programming for Artists is an entry level programming class geared toward teaching artists and designers fundamental aspects of computer programming. Throughout the class students create a variety of projects that introduce technical aspects of New Media Art while also investigating the history of computation in the arts though the work of canonical and contemporary artists and artworks. Additionally, related topics such as the history of interactivity and participation will be explored though class discussions and presentations.
* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ]
+
 
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
+
=== 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.
 +
* 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 [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  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 ===
 +
For this course we will use Daniel Shiffman's ''Learning Processing''.
 +
 
 +
=== Class Schedule ===
 +
----
 +
==== Class 1 ====
 +
1/30/2017 <br>
 +
''' In Class '''
 +
* Download Processing 3 [http://processing.org/download/ here].
 +
* creating a static sketch
 +
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]
 +
* using color
 +
* function calls
 +
* comments
 +
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]
 +
----
 +
 
 +
==== Class 2 ====
 +
2/6/2017 <br>
 +
''' In Class '''
 +
* Examine Exercise 1
 +
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]
 +
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]
 +
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]
 +
* Basic mouse and keyboard interaction
 +
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]
 +
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]
 +
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]
 +
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)
 +
* Transformation Examples
 +
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]
 +
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]
 +
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]
 +
* Abstraction and Movement
 +
** Viking Eggeling's [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)
 +
** Marcel Duchamp's [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)
 +
** Hans Richter's [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)
 +
** JODI [https://vimeo.com/4651473 myDTP 47] (video)
 +
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)
 +
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx 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 ====
 +
<b>Wednesday</b> 2/15/2017 <br>
 +
''' 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.
 +
----
 +
 
 +
==== Class 4 ====
 +
2/27/2017 <br>
 +
''' In Class '''
 +
* Loops and Iteration
 +
** The while loop
 +
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]
 +
** The for loop
 +
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]
 +
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]
 +
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]
 +
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]
 +
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]
 +
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]
 +
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]
 +
* Repetition, Variation, and Transformation in Art
 +
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&feature=related Steve Reich]
 +
** [http://www.youtube.com/watch?v=BzB31mD4NmA&feature=related John Whitney]
 +
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]
 +
** [https://www.youtube.com/watch?v=ts5uT0Pdj4c Lis Rhodes interview]
 +
** [https://www.youtube.com/watch?v=Syjw1hJAADg&list=PLUwdZcItvNc__-QhfjH8EZ96rsigQQ0ym&index=1 Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]
 +
** [http://www.moma.org/calendar/exhibitions/1422?locale=en#installation-images Lygia Clark]
 +
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&client=firefox-a&hs=kSz&rls=org.mozilla:en-US:official&channel=sb&biw=1676&bih=926&source=lnms&tbm=isch&sa=X&ei=mSYcVN_0F4eH8QH-mYGwCw&sqi=2&ved=0CAYQ_AUoAQ Josef Albers]
 +
** [https://www.google.com/search?q=bridget+riley&client=firefox-a&hs=kUz&rls=org.mozilla:en-US:official&channel=sb&biw=1676&bih=926&tbm=isch&ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]
 +
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]
 +
** [https://www.artsy.net/artist/jesus-rafael-soto Jesus Rafael Soto]
 +
 
 +
''' 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 user experience?
 +
 
 +
----
 +
 
 +
==== Class 5 ====
 +
3/6/2017 <br>
 +
''' In Class '''
 +
* Examine 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 6 ====
 +
3/13/2017 <br>
 +
''' In Class '''
 +
* Introduction to Functions
 +
* Block Scope
 +
* random()
 +
* Perlin noise
 +
* Interactivity and Participation
 +
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]
 +
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]
 +
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]
 +
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]
 +
* "Non-determinism" in Art
 +
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]
 +
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]
 +
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]
 +
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]
 +
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]
 +
* Function examples
 +
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]
 +
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]
 +
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]
 +
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]
 +
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]
 +
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]
 +
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]
 +
* Random examples
 +
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]
 +
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]
 +
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]
 +
''' Homework Due '''
 +
* Read Chapters 7: Functions
 +
----
 +
 
 +
==== Class 7 ====
 +
3/20/2017 <br>
 +
''' In Class '''
 +
* Work on Midterm
 +
''' Homework Due '''
 +
* Work on Midterm
 +
----
 +
 
 +
==== Class 8 ====
 +
3/27/2017 <br>
 +
''' In Class '''
 +
* Midterm Critique
 +
 
 +
''' Homework Due '''
 +
* Midterm: Create a “chance composition” using algorithms you develop <b>encapsulated in functions</b>. 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 9 ====
 +
4/3/2017 <br>
 +
''' In Class '''
 +
* Objects
 +
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]
 +
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]
 +
* Arrays
 +
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]
 +
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]
 +
* Debugging
 +
* Using libraries
 +
 
 +
''' Homework Due '''
 +
* Read Chapter 8: Objects and 9: Arrays
 +
----
 +
 
 +
==== Class 10 ====
 +
<b>Wednesday</b> 4/20/2017 <br>
 +
''' In Class '''
 +
* Introduction to Image Processing
 +
** [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_3_array 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 5: drawing pixels 2]
 +
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]
 +
* Introduction to Video
 +
 
 +
''' Homework Due '''
 +
* Exercise 5: Create an object-oriented version of one of your previous programs.
 +
----
 +
 
 +
==== Class 11 ====
 +
4/24/2017 <br>
 +
''' In Class '''
 +
* View Exercise 6
 +
* Working with sound (Minim)
 +
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]
 +
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]
 +
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]
 +
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]
 +
 
 +
''' Homework Due '''
 +
* Exercise 6: Create a project using the processing video or image library.
 +
----
 +
 
 +
==== Class 12 ====
 +
5/1/2017 <br>
 +
''' In Class '''
 +
* View Exercise 7
 +
 
 +
''' Homework Due '''
 +
* Exercise 7: Add sound to an old project or create a new project that uses sound.
 +
* 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 13 ====
 +
5/8/2017 <br>
 +
''' In Class '''
 +
* Work on Final Project
 +
 
 +
''' Homework Due '''
 +
* Work on Final Project
 +
----
 +
==== Class 14 ====
 +
5/15/2017 <br>
 +
''' In Class '''
 +
* Work on Final Project
 +
 
 +
''' Homework Due '''
 +
* Work on Final Project
 +
----
 +
==== Class 15 ====
 +
5/22/2017 <br>
 +
''' In Class '''
 +
* Final Critique
 +
 
 +
''' Homework Due '''
 +
* Final Project!

Latest revision as of 19:07, 29 January 2017

Programming for Artists

  • Prof. Joseph Moore
  • Monday 6:15 - 9:05
  • http://joseph-moore.com
  • email: understandingnewmedia@gmail.com
  • Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205

Useful Links

Course Description

Programming for Artists is an entry level programming class geared toward teaching artists and designers fundamental aspects of computer programming. Throughout the class students create a variety of projects that introduce technical aspects of New Media Art while also investigating the history of computation in the arts though the work of canonical and contemporary artists and artworks. Additionally, related topics such as the history of interactivity and participation will be explored though class discussions and presentations.

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.
  • 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

For this course we will use Daniel Shiffman's Learning Processing.

Class Schedule


Class 1

1/30/2017
In Class


Class 2

2/6/2017
In Class

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

Wednesday 2/15/2017
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.

Class 4

2/27/2017
In Class

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 user experience?

Class 5

3/6/2017
In Class

  • Examine 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 6

3/13/2017
In Class

Homework Due

  • Read Chapters 7: Functions

Class 7

3/20/2017
In Class

  • Work on Midterm

Homework Due

  • Work on Midterm

Class 8

3/27/2017
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 9

4/3/2017
In Class

Homework Due

  • Read Chapter 8: Objects and 9: Arrays

Class 10

Wednesday 4/20/2017
In Class

Homework Due

  • Exercise 5: Create an object-oriented version of one of your previous programs.

Class 11

4/24/2017
In Class

Homework Due

  • Exercise 6: Create a project using the processing video or image library.

Class 12

5/1/2017
In Class

  • View Exercise 7

Homework Due

  • Exercise 7: Add sound to an old project or create a new project that uses sound.
  • 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 13

5/8/2017
In Class

  • Work on Final Project

Homework Due

  • Work on Final Project

Class 14

5/15/2017
In Class

  • Work on Final Project

Homework Due

  • Work on Final Project

Class 15

5/22/2017
In Class

  • Final Critique

Homework Due

  • Final Project!