<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://understandingnewmedia.com/p4a/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Moorejoseph</id>
		<title>Programming for Artists - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://understandingnewmedia.com/p4a/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Moorejoseph"/>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Special:Contributions/Moorejoseph"/>
		<updated>2026-06-19T12:01:01Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.2</generator>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1567</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1567"/>
				<updated>2017-01-30T03:07:57Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Monday 6:15 - 9:05&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
1/30/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
2/6/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** JODI [https://vimeo.com/4651473 myDTP 47] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;lt;b&amp;gt;Wednesday&amp;lt;/b&amp;gt; 2/15/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
2/27/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [https://www.youtube.com/watch?v=ts5uT0Pdj4c Lis Rhodes interview]&lt;br /&gt;
** [https://www.youtube.com/watch?v=Syjw1hJAADg&amp;amp;list=PLUwdZcItvNc__-QhfjH8EZ96rsigQQ0ym&amp;amp;index=1 Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [http://www.moma.org/calendar/exhibitions/1422?locale=en#installation-images Lygia Clark]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
** [https://www.artsy.net/artist/jesus-rafael-soto Jesus Rafael Soto]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
3/6/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
3/13/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
3/20/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
3/27/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
4/3/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;lt;b&amp;gt;Wednesday&amp;lt;/b&amp;gt; 4/20/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
4/24/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
5/1/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
5/8/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
5/15/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
5/22/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1566</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1566"/>
				<updated>2017-01-30T03:06:31Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Monday 6:15 - 9:05&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
1/30/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
2/6/2017 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** JODI [https://vimeo.com/4651473 myDTP 47] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;lt;b&amp;gt;Wednesday&amp;lt;/b&amp;gt; 2/15/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
2/27/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [https://www.youtube.com/watch?v=ts5uT0Pdj4c Lis Rhodes interview]&lt;br /&gt;
** [https://www.youtube.com/watch?v=Syjw1hJAADg&amp;amp;list=PLUwdZcItvNc__-QhfjH8EZ96rsigQQ0ym&amp;amp;index=1 Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [http://www.moma.org/calendar/exhibitions/1422?locale=en#installation-images Lygia Clark]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
** [https://www.artsy.net/artist/jesus-rafael-soto Jesus Rafael Soto]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
3/6/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
3/13/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
3/20/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
3/27/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
4/3/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;lt;b&amp;gt;Wednesday&amp;lt;/b&amp;gt; 4/20/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
4/24/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
5/1/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
5/8/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
5/15/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
5/22/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1565</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1565"/>
				<updated>2017-01-30T03:05:22Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Monday 6:15 - 9:05&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
1/30/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
2/6/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** JODI [https://vimeo.com/4651473 myDTP 47] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;lt;b&amp;gt;Wednesday&amp;lt;/b&amp;gt; 2/15/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
2/27/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [https://www.youtube.com/watch?v=ts5uT0Pdj4c Lis Rhodes interview]&lt;br /&gt;
** [https://www.youtube.com/watch?v=Syjw1hJAADg&amp;amp;list=PLUwdZcItvNc__-QhfjH8EZ96rsigQQ0ym&amp;amp;index=1 Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [http://www.moma.org/calendar/exhibitions/1422?locale=en#installation-images Lygia Clark]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
** [https://www.artsy.net/artist/jesus-rafael-soto Jesus Rafael Soto]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
3/6/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
3/13/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
3/20/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
3/27/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
4/3/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;lt;b&amp;gt;Wednesday&amp;lt;/b&amp;gt; 4/20/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
4/24/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
5/1/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
5/8/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
5/15/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
5/22/2017&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1564</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1564"/>
				<updated>2017-01-30T02:59:16Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Programming for Artists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Monday 6:15 - 9:05&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** JODI [https://vimeo.com/4651473 myDTP 47] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [https://www.youtube.com/watch?v=ts5uT0Pdj4c Lis Rhodes interview]&lt;br /&gt;
** [https://www.youtube.com/watch?v=Syjw1hJAADg&amp;amp;list=PLUwdZcItvNc__-QhfjH8EZ96rsigQQ0ym&amp;amp;index=1 Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [http://www.moma.org/calendar/exhibitions/1422?locale=en#installation-images Lygia Clark]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
** [https://www.artsy.net/artist/jesus-rafael-soto Jesus Rafael Soto]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1563</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1563"/>
				<updated>2016-09-16T17:44:54Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 2:00 - 4:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Friday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** JODI [https://vimeo.com/4651473 myDTP 47] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [https://www.youtube.com/watch?v=ts5uT0Pdj4c Lis Rhodes interview]&lt;br /&gt;
** [https://www.youtube.com/watch?v=Syjw1hJAADg&amp;amp;list=PLUwdZcItvNc__-QhfjH8EZ96rsigQQ0ym&amp;amp;index=1 Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [http://www.moma.org/calendar/exhibitions/1422?locale=en#installation-images Lygia Clark]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
** [https://www.artsy.net/artist/jesus-rafael-soto Jesus Rafael Soto]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1562</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1562"/>
				<updated>2016-09-16T17:40:08Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 2:00 - 4:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Friday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** JODI [https://vimeo.com/4651473 myDTP 47] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [https://www.youtube.com/watch?v=ts5uT0Pdj4c Lis Rhodes interview]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [http://www.moma.org/calendar/exhibitions/1422?locale=en#installation-images Lygia Clark]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
** [https://www.artsy.net/artist/jesus-rafael-soto Jesus Rafael Soto]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1561</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1561"/>
				<updated>2016-09-16T17:22:06Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 2:00 - 4:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Friday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** JODI [https://vimeo.com/4651473 myDTP 47] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [https://www.youtube.com/watch?v=ts5uT0Pdj4c Lis Rhodes interview]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1560</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1560"/>
				<updated>2016-09-02T17:40:04Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 2:00 - 4:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Friday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** JODI [https://vimeo.com/4651473 myDTP 47] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1559</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1559"/>
				<updated>2016-09-02T17:37:37Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 2:00 - 4:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Friday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ Symphonie Diagonale] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** Hans Richter&amp;#039;s [https://www.youtube.com/watch?v=0uxF1taPe34 Rhythmus 21] (video)&lt;br /&gt;
** Ryoji Ikeda [https://www.youtube.com/watch?v=jPGkJabeib0 data.path] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1558</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1558"/>
				<updated>2016-09-02T17:26:51Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 2:00 - 4:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Friday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [https://www.youtube.com/watch?v=uc5qPMSVixQ] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1557</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1557"/>
				<updated>2016-08-26T16:49:38Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Programming for Artists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 2:00 - 4:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Friday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1556</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1556"/>
				<updated>2016-08-22T16:16:10Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Programming for Artists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 2:00 - 4:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1555</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1555"/>
				<updated>2016-02-29T20:30:57Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Monday 6:15 - 9:05 (undergraduate)&lt;br /&gt;
* Wednesday 2:00 - 4:50 (graduate)&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_6/ example 4: animated stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 5: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 6: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1554</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1554"/>
				<updated>2016-02-08T21:24:54Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Monday 6:15 - 9:05 (undergraduate)&lt;br /&gt;
* Wednesday 2:00 - 4:50 (graduate)&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/blend_modes blend modes]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1553</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1553"/>
				<updated>2016-02-07T15:54:20Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Monday 6:15 - 9:05 (undergraduate)&lt;br /&gt;
* Wednesday 2:00 - 4:50 (graduate)&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Repetition, Variation, and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1552</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1552"/>
				<updated>2016-02-01T22:51:52Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Programming for Artists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Monday 6:15 - 9:05 (undergraduate)&lt;br /&gt;
* Wednesday 2:00 - 4:50 (graduate)&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Monday 4:30 - 6:00 and Wednesday 12:00-1:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1551</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1551"/>
				<updated>2016-01-22T02:06:02Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 6 10/9 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/artists/11?locale=en Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1550</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1550"/>
				<updated>2016-01-22T02:04:44Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 6 10/9 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [https://www.youtube.com/watch?v=sDS6zrUuGBI John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1549</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1549"/>
				<updated>2016-01-22T02:02:06Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 5 10/2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1548</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1548"/>
				<updated>2016-01-22T02:01:02Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 4 3/18 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1547</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1547"/>
				<updated>2016-01-22T01:58:01Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 3 9/11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1546</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1546"/>
				<updated>2016-01-22T01:56:48Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 1 8/28 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1545</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1545"/>
				<updated>2016-01-22T01:36:56Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 10 11/6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing will result in differences in the Shiffman text, as well as in the various Processing books. Changes are documented on the Processing [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of one of your previous programs.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1544</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1544"/>
				<updated>2016-01-22T01:28:25Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Textbook */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will use Daniel Shiffman&amp;#039;s &amp;#039;&amp;#039;Learning Processing&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing will result in differences in the Shiffman text, as well as in the various Processing books. Changes are documented on the Processing [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1468</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1468"/>
				<updated>2015-10-16T02:14:04Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 6 10/9 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will read a few chapters from Learning Processing my Daniel Shiffman. I will make these available to you.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing will result in differences in the Shiffman text, as well as in the various Processing books. Changes are documented on the Processing [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
** [http://natureofcode.com/book/chapter-8-fractals/ Recursion and Fractals]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1467</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1467"/>
				<updated>2015-10-16T02:11:44Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 6 10/9 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will read a few chapters from Learning Processing my Daniel Shiffman. I will make these available to you.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing will result in differences in the Shiffman text, as well as in the various Processing books. Changes are documented on the Processing [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_blastoff Example 4 Recursive Blastoff]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle Example 4 Recursive Rectangle]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/recursive_rectangle2 Example 4 Recursive Rectangle 2]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Exercises_Fall_2015&amp;diff=1401</id>
		<title>Exercises Fall 2015</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Exercises_Fall_2015&amp;diff=1401"/>
				<updated>2015-09-18T13:59:28Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Exercise 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Exercise 1==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Exercise 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Exercise 3==&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=MediaWiki:Sidebar&amp;diff=1400</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=MediaWiki:Sidebar&amp;diff=1400"/>
				<updated>2015-08-29T18:22:53Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** Exercises Fall 2015 | Exercises Fall 2015&lt;br /&gt;
** Exercises Spring 2015 | Exercises Spring 2015&lt;br /&gt;
** Exercises Friday F2014 | Exercises Friday F2014&lt;br /&gt;
** Exercises Monday SP2014 | Exercises Monday SP2014&lt;br /&gt;
** Exercises Friday SP2014 | Exercises Friday SP2014&lt;br /&gt;
** exercises|Exercises F2012&lt;br /&gt;
** exercises 2013 | Exercises SP2013&lt;br /&gt;
** howto upload homework | Howto Upload Homework&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Exercises_Fall_2015&amp;diff=1399</id>
		<title>Exercises Fall 2015</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Exercises_Fall_2015&amp;diff=1399"/>
				<updated>2015-08-29T18:20:16Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: Created page with &amp;quot;==Exercise 1==&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Exercise 1==&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Exercises_Spring_2015&amp;diff=1398</id>
		<title>Exercises Spring 2015</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Exercises_Spring_2015&amp;diff=1398"/>
				<updated>2015-08-29T18:17:37Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: Created page with &amp;quot;== Homework == Add a link to each assignment on this wiki. This link should go under the heading of the assignment. Use the following form:  Your first name and last name -- H...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Homework ==&lt;br /&gt;
Add a link to each assignment on this wiki. This link should go under the heading of the assignment. Use the following form:&lt;br /&gt;
&lt;br /&gt;
Your first name and last name -- Homework - Exercise 2 - Description (optional)&lt;br /&gt;
&lt;br /&gt;
Where &amp;quot;Exercise 2&amp;quot; is a link to the assignment.&lt;br /&gt;
&lt;br /&gt;
==Exercise 1==&lt;br /&gt;
Tajh Doumbia -- [http://understandingnewmedia.com/sp2015/tajh_d/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Katherine Avalos -- [http://understandingnewmedia.com/sp2015/katherine_a/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Marlyn Almanzar -- [http://understandingnewmedia.com/sp2015/marlyn_a/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Yuliya Bas -- [http://understandingnewmedia.com/sp2015/yuliya_b/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Kia Delgado -- [http://understandingnewmedia.com/sp2015/kia_d/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Mei Lee (Jayne) -- [http://understandingnewmedia.com/sp2015/meijayne_l/exercise_1/ Exercise 1 ]&lt;br /&gt;
&lt;br /&gt;
Michele Mitchell -- [http://understandingnewmedia.com/sp2015/michele_m/exercise_1/ Exercise 1 ]&lt;br /&gt;
&lt;br /&gt;
Jonathan Arias -- [http://understandingnewmedia.com/sp2015/Jonathan_A/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Monica Leon -- [http://understandingnewmedia.com/sp2015/monica_l/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Aliana Ramdass -- [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_1/ Exercise 1 ]&lt;br /&gt;
&lt;br /&gt;
Jennifer Maendel -- [http://understandingnewmedia.com/sp2015/jennifer_m/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Jingwen Zhan -- [http://understandingnewmedia.com/sp2015/jingwen_z/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Karolyn Jimenez -- [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Frantz Casimir -- [http://understandingnewmedia.com/sp2015/frantz_c/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
David Cayole -- [http://understandingnewmedia.com/sp2015/david_c/exercise_1/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
Connie Huang --[http://understandingnewmedia.com/sp2015/Connie_Huang/selfportrait/ Exercise 1]&lt;br /&gt;
&lt;br /&gt;
==Exercise 2==&lt;br /&gt;
Katherine Avalos --[http://understandingnewmedia.com/sp2015/katherine_a/exercise_2/ Exercise 2]--&lt;br /&gt;
&lt;br /&gt;
Karolyn Jimenez -- [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_2/ Exercise 2] / [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_2/revised/ Exercise 2_revised] -- On the first I wanted to add thread to make it fun to draw with. That&amp;#039;s what I did on revised, but then wasn&amp;#039;t sure which to submit.&lt;br /&gt;
&lt;br /&gt;
Jennifer Maendel -- [http://understandingnewmedia.com/sp2015/jennifer_m/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Aliana Ramdass -- [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_2/ Exercise 2]-- Can&amp;#039;t figure out how to make the image from the spacebar stay on the screen when the spacebar is released&lt;br /&gt;
&lt;br /&gt;
Michele Mitchell -- [http://understandingnewmedia.com/sp2015/michele_m/exercise_2/ Exercise 2 ]&lt;br /&gt;
&lt;br /&gt;
Mei Lee (Jayne) -- [http://understandingnewmedia.com/sp2015/meijayne_l/exercise_2/ Exercise 2 ]  -- Press the keys M, N, L, or J in combination with pressing the mouse for more actions.&lt;br /&gt;
&lt;br /&gt;
Monica Leon -- [http://understandingnewmedia.com/sp2015/monica_l/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Kia Delgado -- [http://understandingnewmedia.com/sp2015/kia_d/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Marlyn Almanzar -- [http://understandingnewmedia.com/sp2015/marlyn_a/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Frantz Casimir -- [http://understandingnewmedia.com/sp2015/frantz_c/exercise_2/ Exercise 2] --use any key, in combination with the mouse click event, to paint squares and circles of varying size, color and opacity&lt;br /&gt;
&lt;br /&gt;
Jonathan Arias -- [http://understandingnewmedia.com/sp2015/Jonathan_A/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Yuliya Bas -- [http://understandingnewmedia.com/sp2015/yuliya_b/exercise_2/canvas.pde/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Tajh Doumbia -- [http://understandingnewmedia.com/sp2015/tajh_d/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Jingwen Zhan -- [http://www.understandingnewmedia.com/sp2015/jingwen_z/exercise_2/ exercise 2 ]&lt;br /&gt;
&lt;br /&gt;
David Cayole -- [http://understandingnewmedia.com/sp2015/david_c/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Connie Huang -- [http://understandingnewmedia.com/sp2015/Connie_Huang/project2_p4a/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
==Exercise 3==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Karolyn Jimenez --[http://understandingnewmedia.com/sp2015/karolyn_j/exercise_3/ Exercise 3, button1]/[http://understandingnewmedia.com/sp2015/karolyn_j/exercise_3/button2 Exercise 3, button2] -- I couldn&amp;#039;t figure out how to time the speed or smooth down the movement. I upload both since I didn&amp;#039;t know which best represent what I intended.&lt;br /&gt;
&lt;br /&gt;
Mei Lee (Jayne) --[http://understandingnewmedia.com/sp2015/meijayne_l/exercise_3/ Exercise 3] -- EDITED: Keep clicking his face!&lt;br /&gt;
&lt;br /&gt;
Monica Leon --[http://understandingnewmedia.com/sp2015/monica_l/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Michele Mitchell -- [http://understandingnewmedia.com/sp2015/michele_m/exercise_3/ Exercise 3 ]&lt;br /&gt;
&lt;br /&gt;
Katherine Avalos __[http://understandingnewmedia.com/sp2015/katherine_a/exercise_3/ Exercise 3][http://understandingnewmedia.com/sp2015/katherine_a/exercise_3_fixed/ Exercise_3_fixed]&lt;br /&gt;
&lt;br /&gt;
Frantz Casimir -- [http://understandingnewmedia.com/sp2015/frantz_c/exercise_3/ Exercise 3] --not the desired effect, but close. Going to keep working on this one&lt;br /&gt;
&lt;br /&gt;
Kia Delgado -- [http://understandingnewmedia.com/sp2015/kia_d/exercise_3/ Exercise 3] -- Circuits! (Also, the turquoise button likes to function properly only occasionally, but maybe it just dislikes me...)&lt;br /&gt;
&lt;br /&gt;
Aliana Ramdass -- [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_3/ Exercise 3] -- &lt;br /&gt;
                  [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_3/button2/ Exercise 3- Edited]-- Monster? --Still don&amp;#039;t know how to make the creature blink and make its lips move (continuously) without having to click somewhere/ something.&lt;br /&gt;
&lt;br /&gt;
Marlyn Almanzar -- [http://understandingnewmedia.com/sp2015/marlyn_a/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Jonathan Arias -- [http://understandingnewmedia.com/sp2015/Jonathan_A/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Tajh Doumbia -- [http://understandingnewmedia.com/sp2015/tajh_d/exercise_3/ Exercise 3] -- Had some problems...&lt;br /&gt;
&lt;br /&gt;
Jennifer Maendel -- [http://understandingnewmedia.com/sp2015/jennifer_m/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Jingwen Zhan -- [http://www.understandingnewmedia.com/sp2015/jingwen_z/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Yuliya Bas -- [http://www.understandingnewmedia.com/sp2015/yuliya_b/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
David Cayole -- [http://understandingnewmedia.com/sp2015/david_c/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Connie Huang -- [http://understandingnewmedia.com/sp2015/Connie_Huang/project3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
==Exercise 4==&lt;br /&gt;
Katherine Avalos -- Exercise 4: [http://understandingnewmedia.com/sp2015/katherine_a/exercise_4/while_loop/ while loop] /[http://understandingnewmedia.com/sp2015/katherine_a/exercise_4/while_interactive/ while loop interactive]/ [http://understandingnewmedia.com/sp2015/katherine_a/exercise_4/for_loop/ for loop]/  &lt;br /&gt;
&lt;br /&gt;
Jonathan Arias -- [http://understandingnewmedia.com/sp2015/Jonathan_A/exercise_4a/ Exercise 4a - While loop] - [http://understandingnewmedia.com/sp2015/Jonathan_A/exercise_4b/ Exercise 4b - For loop]&lt;br /&gt;
&lt;br /&gt;
Karolyn Jimenez -- Exercise 4: [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_4/ForLoop/ ForLoop] / [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_4/WhileLoop/ WhileLoop]&lt;br /&gt;
&lt;br /&gt;
Michele Mitchell -- Exercise 4 [http://understandingnewmedia.com/sp2015/michele_m/exercise_4/forloop/ ForLoop ] / [http://understandingnewmedia.com/sp2015/michele_m/exercise_4/whileloop/ WhileLoop ]&lt;br /&gt;
&lt;br /&gt;
Mei Lee (Jayne) -- Exercise 4 [http://understandingnewmedia.com/sp2015/meijayne_l/exercise_4/while_loop/ While Loop ] / &lt;br /&gt;
[http://understandingnewmedia.com/sp2015/meijayne_l/exercise_4/for_loop/ For Loop ] -- WARNING: (Avoid if you have epilepsy!) Fast flashing imagery. Don&amp;#039;t look for too long or it might make you sick.&lt;br /&gt;
&lt;br /&gt;
Yuliya Bas -- Exercise 4 [http://understandingnewmedia.com/sp2015/yuliya_b/exercise_4/forPlaid/ ForPlaid] / [http://understandingnewmedia.com/sp2015/yuliya_b/exercise_4/while_loop/ While Loop ]&lt;br /&gt;
&lt;br /&gt;
Frantz Casimir -- Exercise 4: [http://understandingnewmedia.com/sp2015/frantz_c/exercise_4/forLoop/ forLoop_plaid] / [http://understandingnewmedia.com/sp2015/frantz_c/exercise_4/whileLoop/ whileLoop_plaid]&lt;br /&gt;
&lt;br /&gt;
Aliana Ramdass -- [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_4/while%20loop/ WHILE LOOP-- Exercise 4] [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_4/for%20loop/  FOR LOOP-- Exercise 4]&lt;br /&gt;
&lt;br /&gt;
Kia Delgado -- Exercise 4: [http://understandingnewmedia.com/sp2015/kia_d/exercise_4/while_loop/ While Loop - Descending Stairs] / [http://understandingnewmedia.com/sp2015/kia_d/exercise_4/for_loop/ For Loop - Sound Waves]&lt;br /&gt;
&lt;br /&gt;
Monica Leon -- Exercise 4: [http://understandingnewmedia.com/sp2015/monica_l/exercise_4/while_loop/ while loop] / [http://understandingnewmedia.com/sp2015/monica_l/exercise_4/for_loop/ for loop]&lt;br /&gt;
&lt;br /&gt;
Jennifer Maendel -- Exercise 4: [http://understandingnewmedia.com/sp2015/jennifer_m/exercise_4/whileloop/ while loop] / [http://understandingnewmedia.com/sp2015/jennifer_m/exercise_4/forloop/ for loop]&lt;br /&gt;
&lt;br /&gt;
Tajh Doumbia -- Exercise 4: [http://understandingnewmedia.com/sp2015/tajh_d/exercise_4/for/ ForLoop] / [http://understandingnewmedia.com/sp2015/tajh_d/exercise_4/while/ WhileLoop] -- Had trouble expressing what I want. WILL FIX BOTH TO MY LIKING SOON ENOUGH&lt;br /&gt;
&lt;br /&gt;
Jingwen Zhan -- Exercise 4: [http://understandingnewmedia.com/sp2015/jingwen_z/exercise_4/while/ - whileLoop] / [http://www.understandingnewmedia.com/sp2015/jingwen_z/exercise_4/ - forLoop]&lt;br /&gt;
&lt;br /&gt;
David Cayole -- Exercise 4: [http://understandingnewmedia.com/sp2015/david_c/exercise_4/forloop/ - For Loop]/ [http://understandingnewmedia.com/sp2015/david_c/exercise_4/whileloop/ - While Loop]&lt;br /&gt;
&lt;br /&gt;
Connie Huang -- [http://understandingnewmedia.com/sp2015/Connie_Huang/project4_p4a/ While Loop]/ [http://understandingnewmedia.com/sp2015/Connie_Huang/project4_p4a_2/ For Loop]&lt;br /&gt;
&lt;br /&gt;
==Midterm==&lt;br /&gt;
&lt;br /&gt;
Jonathan Arias -- [http://understandingnewmedia.com/sp2015/Jonathan_A/midterm/ Midterm] [http://understandingnewmedia.com/sp2015/Jonathan_A/midterm/revised/ Midterm revised]&lt;br /&gt;
&lt;br /&gt;
Katherine Avalos -- [http://understandingnewmedia.com/sp2015/katherine_a/midterm2mod/ Midterm][http://understandingnewmedia.com/sp2015/katherine_a/midterm3/ first code developed]&lt;br /&gt;
&lt;br /&gt;
Aliana Ramdass -- [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_5/ Midterm- Flashing Colors]&lt;br /&gt;
&lt;br /&gt;
Jingwen Zhan -- [http://understandingnewmedia.com/sp2015/jingwen_z/midterm/  Midterm] [http://understandingnewmedia.com/sp2015/jingwen_z/midterm/fixed/  fixed]&lt;br /&gt;
&lt;br /&gt;
Mei Lee (Jayne) 1) -- [http://understandingnewmedia.com/sp2015/meijayne_l/Midterm%20V1/ Midterm (Version 1)] -- Press any key to refresh if it gets stuck. This is more experimental. The code doesn&amp;#039;t work the same in JavaScript. Put it into Processing using Java, and it will run better. (Sorry, it actually won&amp;#039;t run if you copy-paste in... my images aren&amp;#039;t in your computer!)&lt;br /&gt;
&lt;br /&gt;
2) -- [http://understandingnewmedia.com/sp2015/meijayne_l/Midterm%20V2/ Midterm (Version 2)] -- Not experimental, but it also incorporates functions + randomness.&lt;br /&gt;
&lt;br /&gt;
Karolyn Jimenez -- [http://understandingnewmedia.com/sp2015/karolyn_j/midterm/midterm/ Midterm_draft] / [http://understandingnewmedia.com/sp2015/karolyn_j/midterm/midterm2/ Midterm_final]&lt;br /&gt;
&lt;br /&gt;
Yuliya Bas -- [http://understandingnewmedia.com/sp2015/yuliya_b/midterm/  Midterm] -- Only works in Java, just like Tajh&amp;#039;s&lt;br /&gt;
&lt;br /&gt;
Monica Leon -- [http://understandingnewmedia.com/sp2015/monica_l/midterm/  Midterm]&lt;br /&gt;
&lt;br /&gt;
Michele Mitchell -- [http://understandingnewmedia.com/sp2015/michele_m/midterm_final/  Midterm]&lt;br /&gt;
&lt;br /&gt;
Jennifer Maendel -- [http://understandingnewmedia.com/sp2015/jennifer_m/midterm/  Midterm]&lt;br /&gt;
&lt;br /&gt;
David Cayole -- [http://understandingnewmedia.com/sp2015/david_c/midterm/  Midterm]&lt;br /&gt;
&lt;br /&gt;
Frantz Casimir -- [http://understandingnewmedia.com/sp2015/frantz_c/exercise_5/ Exercise5]&lt;br /&gt;
&lt;br /&gt;
Tajh Doumbia -- [http://understandingnewmedia.com/sp2015/tajh_d/midterm  Midterm] -- Only works in Java for some reason. Uncomment music codes for unwanted noise! (Explicit lyrics)&lt;br /&gt;
&lt;br /&gt;
Kia Delgado-- [http://understandingnewmedia.com/sp2015/kia_d/midterm/  Midterm v1] / [http://understandingnewmedia.com/sp2015/kia_d/midterm2/  Midterm v2 - No Control]&lt;br /&gt;
&lt;br /&gt;
Connie Huang -- [http://understandingnewmedia.com/sp2015/Connie_Huang/project5/ Midterm]&lt;br /&gt;
&lt;br /&gt;
==Exercise 6==&lt;br /&gt;
&lt;br /&gt;
Jonathan Arias -- [http://understandingnewmedia.com/sp2015/Jonathan_A/exercise_6/ Exercise 6]&lt;br /&gt;
&lt;br /&gt;
Karolyn Jimenez -- [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_5/soapbubbles/ Ex.5 SoapBubbles] / [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_5/fishtank/ Ex.5 FishTank]&lt;br /&gt;
&lt;br /&gt;
Yuliya Bas -- [http://understandingnewmedia.com/sp2015/yuliya_b/exercise_5/ Exercise 6]&lt;br /&gt;
&lt;br /&gt;
Katherine Avalos -- [http://understandingnewmedia.com/sp2015/katherine_a/exercise_6/ Exercise 6]&lt;br /&gt;
&lt;br /&gt;
Aliana Ramdass -- [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_6/ Exercise 6]&lt;br /&gt;
&lt;br /&gt;
Jingwen Zhan -- [http://understandingnewmedia.com/sp2015/jingwen_z/exercise_6/  Exercise 6 ]  [http://understandingnewmedia.com/sp2015/jingwen_z/exercise_6/fixed/   fixed!!]&lt;br /&gt;
&lt;br /&gt;
Kia Delgado -- [http://understandingnewmedia.com/sp2015/kia_d/exercise_6/ Exercise 6 - Working Version]&lt;br /&gt;
&lt;br /&gt;
Mei Lee (Jayne) -- [http://understandingnewmedia.com/sp2015/meijayne_l/exercise_6/ Exercise 6] - Click and hold down to reveal.&lt;br /&gt;
&lt;br /&gt;
Monica Leon -- [http://understandingnewmedia.com/sp2015/monica_l/exercise_6/  Exercise 6]&lt;br /&gt;
&lt;br /&gt;
Frantz Casimir -- [http://understandingnewmedia.com/sp2015/frantz_c/exercise_6/  Exercise 6]&lt;br /&gt;
&lt;br /&gt;
Jennifer Maendel -- [http://understandingnewmedia.com/sp2015/jennifer_m/exercise_5/  Exercise 6]&lt;br /&gt;
&lt;br /&gt;
David Cayole -- [http://understandingnewmedia.com/sp2015/david_c/exercise_6/ Exercise 6]&lt;br /&gt;
&lt;br /&gt;
== Minim Class Demos ==&lt;br /&gt;
&lt;br /&gt;
Log into cyberduck to view the examples from class in the folder zoe_b&lt;br /&gt;
&lt;br /&gt;
also see the [http://processingta.blogspot.com/ blog] for reference code and homework assignment&lt;br /&gt;
&lt;br /&gt;
==Exercise 7==&lt;br /&gt;
Aliana Ramdass-- [http://understandingnewmedia.com/sp2015/Aliana_R/exercise_7/ Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Tajh Doumbia-- [http://understandingnewmedia.com/sp2015/tajh_d/exercise_7/ Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Yuliya Bas-- [http://understandingnewmedia.com/sp2015/yuliya_b/exercise_7/ Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Frantz Casimir -- [http://understandingnewmedia.com/sp2015/frantz_c/exercise_7/  Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Mei Lee (Jayne) -- [http://understandingnewmedia.com/sp2015/meijayne_l/exercise_7/ Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Karolyn Jimenez -- [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_7/ Exercise 7] / [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_7/video/Fireworks.mp4 Ex.7_Fireworks.mp4] / [http://understandingnewmedia.com/sp2015/karolyn_j/exercise_7/video/gif/Fireworks.gif Ex.7_Fireworks.gif]&lt;br /&gt;
&lt;br /&gt;
Jingwen Zhan -- [http://understandingnewmedia.com/sp2015/jingwen_z/exercise_7/ Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Monica Leon -- [http://understandingnewmedia.com/sp2015/monica_l/exercise_7/mini_.rar Exercise 7-single ellipse] / [http://understandingnewmedia.com/sp2015/monica_l/exercise_7/mini_3.rar Exercise 7-ellipse trail]&lt;br /&gt;
&lt;br /&gt;
Kia Delgado -- [http://understandingnewmedia.com/sp2015/kia_d/exercise_7/kiadelgado_soundprogram.zip Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Katherine Avalos-- [http://understandingnewmedia.com/sp2015/katherine_a/exercise_7/ Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Jonathan Arias -- [http://understandingnewmedia.com/sp2015/Jonathan_A/exercise_7/BoomBox.zip Exercise 7]&lt;br /&gt;
&lt;br /&gt;
Jennifer Maendel -- [http://understandingnewmedia.com/sp2015/jennifer_m/exercise_6/  Exercise 7]&lt;br /&gt;
&lt;br /&gt;
David Cayole -- [http://understandingnewmedia.com/sp2015/david_c/exercise_7/ Exercise 7]/ [http://understandingnewmedia.com/sp2015/david_c/exercise_7zip Zip file]&lt;br /&gt;
&lt;br /&gt;
==Final==&lt;br /&gt;
&lt;br /&gt;
Yuliya Bas-- [http://understandingnewmedia.com/sp2015/DancinglinesEDITED_2/final/ Final] &amp;lt;blockquote&amp;gt; Needs to be unzipped and played in Java. Since I won&amp;#039;t be in class, I would like to know what everyone thinks of this. &amp;#039;&amp;#039;&amp;#039;Press &amp;#039;S&amp;#039; to skip through a song,&amp;#039;P&amp;#039; for pause, &amp;#039;R&amp;#039; for resume, &amp;#039;1&amp;#039; for song 1, &amp;#039;2&amp;#039; for song 2, &amp;#039;3&amp;#039; for song 3, and &amp;#039;4&amp;#039; for song 4&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&amp;lt;br&amp;gt;(Song 1-- IAMX- Nature of Inviting , Song 2-- The Kills- Satellite, Song 3-- Lady Gaga- Electric Chapel, Song 4-- Stromae- Meltdown (feat. Lorde, Pusha T, Q-Tip, Haim))&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Karolyn Jimenez -- [http://understandingnewmedia.com/sp2015/karolyn_j/final/merrygoround/ MerryGoRound2D] -[http://understandingnewmedia.com/sp2015/karolyn_j/final/merrygoround/zip/ ZIPfile] / [http://understandingnewmedia.com/sp2015/karolyn_j/final/merrygoround3d/ MerryGoRound3D] -[http://understandingnewmedia.com/sp2015/karolyn_j/final/merrygoround3d/zip/ ZIPfile] &amp;lt;blockquote&amp;gt; I Changed a bit of what my proposal was intended. The Proposal idea was to create a merry go round with buttons to enable interactivity that would cause some change in the scene. Instead I end up exploring the two different dimensions (2D and 3D) creating different versions of the Carousel. Thought neither of them are finished as neither have the horses as I intended. There is music, but the first program I took it off, so it could play in javascript. Still it doesn&amp;#039;t play well in javascript. Specially the 3D.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tajh Doumbia -- [http://understandingnewmedia.com/sp2015/tajh_d/final/ Final] &amp;lt;blockquote&amp;gt;Must be unzipped. Had fun being a &amp;quot;producer&amp;quot;.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mei Lee (Jayne) -- [http://understandingnewmedia.com/sp2015/meijayne_l/Final/ Final]&amp;lt;blockquote&amp;gt;Zip file. I made a simple music video for the Korean song Reset by Tiger JK feat. Jinshil. No interaction necessary, just sit back and watch.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aliana Ramdass -- [http://understandingnewmedia.com/sp2015/Aliana_R/final/ Final] Unfortunately couldn&amp;#039;t make the colors sync up with the beat of the songs.&lt;br /&gt;
&lt;br /&gt;
Kia Delgado -- [http://understandingnewmedia.com/sp2015/kia_d/final/ Final - Thinking States]&lt;br /&gt;
&lt;br /&gt;
Frantz Casimir -- [http://understandingnewmedia.com/sp2015/frantz_c/exercise_8/  Exercise 8]  Press or Hold the &amp;quot;a&amp;quot;, &amp;quot;s&amp;quot;, &amp;quot;d&amp;quot;, &amp;quot;f&amp;quot; and &amp;quot;g&amp;quot; keys to change animation background.  Mouse press and hold/drag to introduce scene and resize in the sketch&lt;br /&gt;
&lt;br /&gt;
Jingwen Zhan -- [http://understandingnewmedia.com/sp2015/jingwen_z/final/    Ambush from ten sides ]&lt;br /&gt;
&lt;br /&gt;
David Cayole -- [http://understandingnewmedia.com/sp2015/david_c/final/  Final]&lt;br /&gt;
&lt;br /&gt;
Katherine Avalos -- [http://understandingnewmedia.com/sp2015/katherine_a/final/ Final]&lt;br /&gt;
&lt;br /&gt;
Jennifer Maendel -- [http://understandingnewmedia.com/sp2015/jennifer_m/final/ Final]&lt;br /&gt;
&lt;br /&gt;
Jonathan Arias -- [http://understandingnewmedia.com/sp2015/Jonathan_A/Final/index.html Final] [http://understandingnewmedia.com/sp2015/Jonathan_A/Final/MIDI.zip Project File] - Video samples:&lt;br /&gt;
[http://understandingnewmedia.com/sp2015/Jonathan_A/Final/videos/under-the-sea.mp4 Under the Sea] [http://understandingnewmedia.com/sp2015/Jonathan_A/Final/videos/animaniacs.mp4 Animaniacs] &lt;br /&gt;
[http://understandingnewmedia.com/sp2015/Jonathan_A/Final/videos/smb2.mp4 Mario 2 - Overworld] &lt;br /&gt;
[http://understandingnewmedia.com/sp2015/Jonathan_A/Final/videos/tmnt.mp4 TMNT] [http://understandingnewmedia.com/sp2015/Jonathan_A/Final/videos/nyan-cat.mp4 Nyan Cat theme] This is basically a music visualization sketch that receives MIDI input from an external application and converts the data into shapes. Check the project page for instructions on how to run it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Monica Leon -- [http://understandingnewmedia.com/sp2015/monica_l/final/final-circles.rar - circle drawings] / [http://understandingnewmedia.com/sp2015/monica_l/final/final-minimcircles.rar - circle player]&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1397</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1397"/>
				<updated>2015-08-28T01:30:59Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Programming for Artists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
 For this course we will read a few chapters from Learning Processing my Daniel Shiffman. I will make these available to you.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/28====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing will result in differences in the Shiffman text, as well as in the various Processing books. Changes are documented on the Processing [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 3/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 10/2 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/9 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/16 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/23 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/30 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/4 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/11 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/18 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1209</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1209"/>
				<updated>2015-02-25T04:08:42Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 5 2/27 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Discuss looping constructs&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Exercises&amp;diff=1175</id>
		<title>Exercises</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Exercises&amp;diff=1175"/>
				<updated>2015-02-14T22:20:52Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Midterm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Homework ==&lt;br /&gt;
Add a link to each assignment on this wiki. This link should go under the heading of the assignment. Use the following form:&lt;br /&gt;
&lt;br /&gt;
Your first name and last name -- Homework - Exercise 2 - Description (optional)&lt;br /&gt;
&lt;br /&gt;
Where &amp;quot;Exercise 2&amp;quot; is a link to the assignment.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1 ==&lt;br /&gt;
Gina Medranda --  Homework - [http://www.understandingnewmedia.com/p4a/f2012/gina_m/exercise_1 Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon -- Homework - [http://www.understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_1 Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Joe Moore -- Homework - [http://understandingnewmedia.com/p4a/f2012/joe_m/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_1/ Exercise 1] - Self Portrait: AbEx French Poodle&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- Homework - [http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_1/ ] - Self Portrait&lt;br /&gt;
&lt;br /&gt;
Melissa Oritz -- Homework - [http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Daniel Stankus --  Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin-- Homework - [http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
James Cho -- Homework - [http://understandingnewmedia.com/p4a/f2012/james_c/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework - [http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Christian flores--Self Portrait-[http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_1/&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks -- Homework - [http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Leo Estevez -- Homework - [http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2 ==&lt;br /&gt;
Jazmin Colon- Homework - exercise_2- (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Zoe Berger- Homework - exercise_2 -(http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_2/ Exercise 2] - Click to Draw&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera Homework - exercise_2 (http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz Homework- exercise_2 (http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_2/) Click, Press and Type&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin-- Homework -exercise_2 [http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise_2b/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Leo Estevez - Exercise 2 (http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Dan Stankus - Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_2/ Exercise 2]  *Hold shift while drawing to &amp;quot;switch modes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - exercise_2 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Janegila  Wright Homework -Exercise_2- [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_2/index.html]&lt;br /&gt;
&lt;br /&gt;
James Cho-Exercise 2-(http://understandingnewmedia.com/p4a/f2012/james_c/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Christian Flores --Exercise_2 [http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_2/]&lt;br /&gt;
&lt;br /&gt;
Gina Medranda -- Exercise 2 - (http://understandingnewmedia.com/p4a/f2012/gina_m/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
== Exercise 3 ==&lt;br /&gt;
Jazmin Colon -- Homework - Exercise 4 - (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_4/)&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_3/ Exercise 3] - Click on the opaque ellipse.&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework - [http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_3/ Exercise 3] - click on screen&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Exercise 3 - [http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Daniel Stankus - Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_3/ Exercise 3] **Cut the rope to perform execution**&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- Homework 3 [http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_3/] click the alien cloud to make alien rain&lt;br /&gt;
&lt;br /&gt;
Gina Medranda -- Homework - Exercise 3 [http://understandingnewmedia.com/p4a/f2012/gina_m/exercise_3b/]&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz --- Exercise 3 { http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_3/ }&lt;br /&gt;
&lt;br /&gt;
Janegila Wright - Exercise 3 [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_3]&lt;br /&gt;
&lt;br /&gt;
James Cho -- Exercise_3 -- (http://understandingnewmedia.com/p4a/f2012/james_c/exercise_3/)&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin-- Homework -exercise_2 [http://understandingnewmedia.com/p4a/f2012/jiafu_l/Exercise3/ Exercise 2] - Keep Clicking to speed up&lt;br /&gt;
&lt;br /&gt;
Leo Estevez-- Homework - [http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_3/ exercise 3]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Christian Flores--Exercises_3--[http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_3/&lt;br /&gt;
&lt;br /&gt;
== Exercise 4 ==&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_4a/ Exercise 4a] - Loops.&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_4b/ Exercise 4b] - Loops.&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon-- Homework- (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_5/ Exercise 5a) -Loops&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon-- Homework- (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_6/ Exercise 5b/6) - Loops&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - Exercise 4: [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_4/sketch_1 Sketch 1] [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_4/sketch_2 Sketch 2]&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Exercise 4 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_4)&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Exercise 4 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_4_2) &lt;br /&gt;
&lt;br /&gt;
Zoe Berger - Exercise 4 - if you can, listen to Jay Z and Kanye West &amp;#039;who gon stop me&amp;#039; while you look at it: [http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_4b/]&lt;br /&gt;
&lt;br /&gt;
Zoe Berger - for loop - (http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_4or/)&lt;br /&gt;
Zoe Berger - same thing with while loop - (http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_4while/)&lt;br /&gt;
&lt;br /&gt;
Jiafu - Exercise 4a -  [http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise4a/]&lt;br /&gt;
&lt;br /&gt;
Leo Estevez- Exercise 4 - http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_4/ - Loops&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz (http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_4/sketch_1)&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz (http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_4/sketch_2)&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin [http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise4][http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise4a/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dan Stankus -- Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_4/ Exercise 4] - Loops.&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework (http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_4_a/ Exercise 4)While Loop.&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework (http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_4_b/ Exercise 4)For Loop.&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon -- Homework Do-Over (http://understandingnewmedia.com/p4a/f2012/jazmin_c/Exercise_5.5/web-export/)&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_4a] - While Loop.&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_4b] - For Loop.&lt;br /&gt;
&lt;br /&gt;
Christian Flores -- Exercise-4 [http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_4/exercise_4a/]&lt;br /&gt;
Christian Flores-- Exercise-4b [http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_4/exercise_4b/]&lt;br /&gt;
&lt;br /&gt;
== Exercise 5 ==&lt;br /&gt;
&lt;br /&gt;
== Midterm ==&lt;br /&gt;
Wilbert Rivera -- Midterm (http://www.understandingnewmedia.com/p4a/f2012/wilbert_r/midterm/) Use the Left and Right Keys to move the ship!!!&lt;br /&gt;
&lt;br /&gt;
Daniel Stankus -- Homework -- [http://www.understandingnewmedia.com/p4a/f2012/dan_s/midterm/ Midterm] -- chemtrails&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/midterm/ Midterm] - Midterm.&lt;br /&gt;
&lt;br /&gt;
Leo Estevez -- Homework - [http://understandingnewmedia.com/p4a/f2012/leo_e/mid_term/ Midterm]&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks -- Homework - [http://understandingnewmedia.com/p4a/f2012/victoria_f/midterm/ Midterm]&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- //Homework1// - [http://understandingnewmedia.com/p4a/f2012/zoe_b/midterm/]&lt;br /&gt;
Zoe Berger -- //Homework2// - [http://understandingnewmedia.com/p4a/f2012/zoe_b/fractal_sketch/]&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz -- [http://understandingnewmedia.com/p4a/f2012/melissa_o/Midterm]&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin Homework - [http://understandingnewmedia.com/p4a/f2012/jiafu_l/Midterm/ Midterm]&lt;br /&gt;
&lt;br /&gt;
James Cho -- Midterm [http://understandingnewmedia.com/p4a/f2012/james_c/midterm]&lt;br /&gt;
&lt;br /&gt;
Christian Flores -- Midterm (http://understandingnewmedia.com/p4a/f2012/christian_f/Midterm)&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/midterm]&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/midterm Midterm]&lt;br /&gt;
&lt;br /&gt;
== Exercise 6 ==&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/oop_midterm/ OOP Midterm] - OOP Midterm.&lt;br /&gt;
&lt;br /&gt;
Dan Stankus -- Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_5/ chemtrails] -- Midterm with an object array!!!&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_6]&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks -- [http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_5]&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- [http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_6/]&lt;br /&gt;
&lt;br /&gt;
jiafu Lin -- [http://understandingnewmedia.com/p4a/f2012/jiafu_l/web-export/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leo Estevez - [http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_6/ arrays]&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework (http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_6/ Exercise 6)Midterm with OOP.&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_6/ Exercise 6]&lt;br /&gt;
&lt;br /&gt;
== Exercise 7 ==&lt;br /&gt;
&lt;br /&gt;
== Exercise 8 ==&lt;br /&gt;
&lt;br /&gt;
== Final ==&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- [http://understandingnewmedia.com/p4a/f2012/dorothy_g/final/ Final]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/final/ Final] - Gestation&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Final Part 1 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/final)&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Final Part 2 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/final_2)&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera Final (http://www.understandingnewmedia.com/p4a/f2012/wilbert_r/Final/)&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz Final (http://www.understandingnewmedia.com/p4a/f2012/melissa_o/final/)&lt;br /&gt;
&lt;br /&gt;
Daniel Stankus -- Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/p4a_final/ Final]&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- slow blink on a sunny day ( http://understandingnewmedia.com/p4a/f2012/zoe_b/final/)&lt;br /&gt;
&lt;br /&gt;
Jiafu -- 1 (http://understandingnewmedia.com/p4a/f2012/jiafu_l/final1/)&lt;br /&gt;
&lt;br /&gt;
Jiafu -- 2 (http://understandingnewmedia.com/p4a/f2012/jiafu_l/finala/)&lt;br /&gt;
&lt;br /&gt;
Leo Estevez -- (http://understandingnewmedia.com/p4a/f2012/leo_e/final/)&lt;br /&gt;
&lt;br /&gt;
Janegila Wright --Vive La Commune! - [http://understandingnewmedia.com/p4a/f2012/janegila_w/final]&lt;br /&gt;
&lt;br /&gt;
Christian Flores - Final - (http://understandingnewmedia.com/p4a/f2012/christian_f/final)&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon-- final (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_final/)&lt;br /&gt;
&lt;br /&gt;
James Cho -- (http://understandingnewmedia.com/p4a/f2012/james_c/F1N_L/)&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Exercises&amp;diff=1174</id>
		<title>Exercises</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Exercises&amp;diff=1174"/>
				<updated>2015-02-14T22:19:33Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Homework ==&lt;br /&gt;
Add a link to each assignment on this wiki. This link should go under the heading of the assignment. Use the following form:&lt;br /&gt;
&lt;br /&gt;
Your first name and last name -- Homework - Exercise 2 - Description (optional)&lt;br /&gt;
&lt;br /&gt;
Where &amp;quot;Exercise 2&amp;quot; is a link to the assignment.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1 ==&lt;br /&gt;
Gina Medranda --  Homework - [http://www.understandingnewmedia.com/p4a/f2012/gina_m/exercise_1 Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon -- Homework - [http://www.understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_1 Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Joe Moore -- Homework - [http://understandingnewmedia.com/p4a/f2012/joe_m/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_1/ Exercise 1] - Self Portrait: AbEx French Poodle&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- Homework - [http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_1/ ] - Self Portrait&lt;br /&gt;
&lt;br /&gt;
Melissa Oritz -- Homework - [http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Daniel Stankus --  Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin-- Homework - [http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
James Cho -- Homework - [http://understandingnewmedia.com/p4a/f2012/james_c/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework - [http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Christian flores--Self Portrait-[http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_1/&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks -- Homework - [http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
Leo Estevez -- Homework - [http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_1/ Exercise 1] - Self Portrait.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2 ==&lt;br /&gt;
Jazmin Colon- Homework - exercise_2- (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Zoe Berger- Homework - exercise_2 -(http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_2/ Exercise 2] - Click to Draw&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera Homework - exercise_2 (http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz Homework- exercise_2 (http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_2/) Click, Press and Type&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin-- Homework -exercise_2 [http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise_2b/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
Leo Estevez - Exercise 2 (http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Dan Stankus - Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_2/ Exercise 2]  *Hold shift while drawing to &amp;quot;switch modes.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - exercise_2 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Janegila  Wright Homework -Exercise_2- [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_2/index.html]&lt;br /&gt;
&lt;br /&gt;
James Cho-Exercise 2-(http://understandingnewmedia.com/p4a/f2012/james_c/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Christian Flores --Exercise_2 [http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_2/]&lt;br /&gt;
&lt;br /&gt;
Gina Medranda -- Exercise 2 - (http://understandingnewmedia.com/p4a/f2012/gina_m/exercise_2/)&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_2/ Exercise 2]&lt;br /&gt;
&lt;br /&gt;
== Exercise 3 ==&lt;br /&gt;
Jazmin Colon -- Homework - Exercise 4 - (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_4/)&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_3/ Exercise 3] - Click on the opaque ellipse.&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework - [http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_3/ Exercise 3] - click on screen&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Exercise 3 - [http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_3/ Exercise 3]&lt;br /&gt;
&lt;br /&gt;
Daniel Stankus - Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_3/ Exercise 3] **Cut the rope to perform execution**&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- Homework 3 [http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_3/] click the alien cloud to make alien rain&lt;br /&gt;
&lt;br /&gt;
Gina Medranda -- Homework - Exercise 3 [http://understandingnewmedia.com/p4a/f2012/gina_m/exercise_3b/]&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz --- Exercise 3 { http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_3/ }&lt;br /&gt;
&lt;br /&gt;
Janegila Wright - Exercise 3 [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_3]&lt;br /&gt;
&lt;br /&gt;
James Cho -- Exercise_3 -- (http://understandingnewmedia.com/p4a/f2012/james_c/exercise_3/)&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin-- Homework -exercise_2 [http://understandingnewmedia.com/p4a/f2012/jiafu_l/Exercise3/ Exercise 2] - Keep Clicking to speed up&lt;br /&gt;
&lt;br /&gt;
Leo Estevez-- Homework - [http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_3/ exercise 3]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Christian Flores--Exercises_3--[http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_3/&lt;br /&gt;
&lt;br /&gt;
== Exercise 4 ==&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_4a/ Exercise 4a] - Loops.&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/exercise_4b/ Exercise 4b] - Loops.&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon-- Homework- (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_5/ Exercise 5a) -Loops&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon-- Homework- (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_6/ Exercise 5b/6) - Loops&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - Exercise 4: [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_4/sketch_1 Sketch 1] [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_4/sketch_2 Sketch 2]&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Exercise 4 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_4)&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Exercise 4 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_4_2) &lt;br /&gt;
&lt;br /&gt;
Zoe Berger - Exercise 4 - if you can, listen to Jay Z and Kanye West &amp;#039;who gon stop me&amp;#039; while you look at it: [http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_4b/]&lt;br /&gt;
&lt;br /&gt;
Zoe Berger - for loop - (http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_4or/)&lt;br /&gt;
Zoe Berger - same thing with while loop - (http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_4while/)&lt;br /&gt;
&lt;br /&gt;
Jiafu - Exercise 4a -  [http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise4a/]&lt;br /&gt;
&lt;br /&gt;
Leo Estevez- Exercise 4 - http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_4/ - Loops&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz (http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_4/sketch_1)&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz (http://understandingnewmedia.com/p4a/f2012/melissa_o/exercise_4/sketch_2)&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin [http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise4][http://understandingnewmedia.com/p4a/f2012/jiafu_l/exercise4a/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dan Stankus -- Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_4/ Exercise 4] - Loops.&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework (http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_4_a/ Exercise 4)While Loop.&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework (http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_4_b/ Exercise 4)For Loop.&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon -- Homework Do-Over (http://understandingnewmedia.com/p4a/f2012/jazmin_c/Exercise_5.5/web-export/)&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_4a] - While Loop.&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_4b] - For Loop.&lt;br /&gt;
&lt;br /&gt;
Christian Flores -- Exercise-4 [http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_4/exercise_4a/]&lt;br /&gt;
Christian Flores-- Exercise-4b [http://understandingnewmedia.com/p4a/f2012/christian_f/exercise_4/exercise_4b/]&lt;br /&gt;
&lt;br /&gt;
== Exercise 5 ==&lt;br /&gt;
&lt;br /&gt;
== Midterm ==&lt;br /&gt;
Wilbert Rivera -- Midterm (http://www.understandingnewmedia.com/p4a/f2012/wilbert_r/midterm/) Use the Left and Right Keys to move the ship!!!&lt;br /&gt;
&lt;br /&gt;
Daniel Stankus -- Homework -- [http://www.understandingnewmedia.com/p4a/f2012/dan_s/midterm/ Midterm] -- chemtrails&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/midterm/ Midterm] - Midterm.&lt;br /&gt;
&lt;br /&gt;
Leo Estevez -- Homework - [http://understandingnewmedia.com/p4a/f2012/leo_e/mid_term/ Midterm]&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks -- Homework - [http://understandingnewmedia.com/p4a/f2012/victoria_f/midterm/ Midterm]&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- //Homework1// - [http://understandingnewmedia.com/p4a/f2012/zoe_b/midterm/]&lt;br /&gt;
Zoe Berger -- //Homework2// - [http://understandingnewmedia.com/p4a/f2012/zoe_b/fractal_sketch/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz -- [http://understandingnewmedia.com/p4a/f2012/melissa_o/Midterm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jiafu Lin Homework - [http://understandingnewmedia.com/p4a/f2012/jiafu_l/Midterm/ Midterm]&lt;br /&gt;
&lt;br /&gt;
James Cho -- Midterm [http://understandingnewmedia.com/p4a/f2012/james_c/midterm]&lt;br /&gt;
&lt;br /&gt;
Christian Flores -- Midterm (http://understandingnewmedia.com/p4a/f2012/christian_f/Midterm)&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/midterm]&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/midterm Midterm]&lt;br /&gt;
&lt;br /&gt;
== Exercise 6 ==&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/oop_midterm/ OOP Midterm] - OOP Midterm.&lt;br /&gt;
&lt;br /&gt;
Dan Stankus -- Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/exercise_5/ chemtrails] -- Midterm with an object array!!!&lt;br /&gt;
&lt;br /&gt;
Janegila Wright -- Homework - [http://understandingnewmedia.com/p4a/f2012/janegila_w/exercise_6]&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks -- [http://understandingnewmedia.com/p4a/f2012/victoria_f/exercise_5]&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- [http://understandingnewmedia.com/p4a/f2012/zoe_b/exercise_6/]&lt;br /&gt;
&lt;br /&gt;
jiafu Lin -- [http://understandingnewmedia.com/p4a/f2012/jiafu_l/web-export/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Leo Estevez - [http://understandingnewmedia.com/p4a/f2012/leo_e/exercise_6/ arrays]&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera -- Homework (http://understandingnewmedia.com/p4a/f2012/wilbert_r/exercise_6/ Exercise 6)Midterm with OOP.&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- Homework - [http://understandingnewmedia.com/p4a/f2012/dorothy_g/exercise_6/ Exercise 6]&lt;br /&gt;
&lt;br /&gt;
== Exercise 7 ==&lt;br /&gt;
&lt;br /&gt;
== Exercise 8 ==&lt;br /&gt;
&lt;br /&gt;
== Final ==&lt;br /&gt;
&lt;br /&gt;
Dorothy Geehern -- [http://understandingnewmedia.com/p4a/f2012/dorothy_g/final/ Final]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Adam Maiolo -- Homework - [http://understandingnewmedia.com/p4a/f2012/adam_m/final/ Final] - Gestation&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Final Part 1 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/final)&lt;br /&gt;
&lt;br /&gt;
Victoria Fuks - Final Part 2 - (http://understandingnewmedia.com/p4a/f2012/victoria_f/final_2)&lt;br /&gt;
&lt;br /&gt;
Wilbert Rivera Final (http://www.understandingnewmedia.com/p4a/f2012/wilbert_r/Final/)&lt;br /&gt;
&lt;br /&gt;
Melissa Ortiz Final (http://www.understandingnewmedia.com/p4a/f2012/melissa_o/final/)&lt;br /&gt;
&lt;br /&gt;
Daniel Stankus -- Homework - [http://understandingnewmedia.com/p4a/f2012/dan_s/p4a_final/ Final]&lt;br /&gt;
&lt;br /&gt;
Zoe Berger -- slow blink on a sunny day ( http://understandingnewmedia.com/p4a/f2012/zoe_b/final/)&lt;br /&gt;
&lt;br /&gt;
Jiafu -- 1 (http://understandingnewmedia.com/p4a/f2012/jiafu_l/final1/)&lt;br /&gt;
&lt;br /&gt;
Jiafu -- 2 (http://understandingnewmedia.com/p4a/f2012/jiafu_l/finala/)&lt;br /&gt;
&lt;br /&gt;
Leo Estevez -- (http://understandingnewmedia.com/p4a/f2012/leo_e/final/)&lt;br /&gt;
&lt;br /&gt;
Janegila Wright --Vive La Commune! - [http://understandingnewmedia.com/p4a/f2012/janegila_w/final]&lt;br /&gt;
&lt;br /&gt;
Christian Flores - Final - (http://understandingnewmedia.com/p4a/f2012/christian_f/final)&lt;br /&gt;
&lt;br /&gt;
Jazmin Colon-- final (http://understandingnewmedia.com/p4a/f2012/jazmin_c/exercise_final/)&lt;br /&gt;
&lt;br /&gt;
James Cho -- (http://understandingnewmedia.com/p4a/f2012/james_c/F1N_L/)&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=MediaWiki:Sidebar&amp;diff=1143</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=MediaWiki:Sidebar&amp;diff=1143"/>
				<updated>2015-02-06T15:45:05Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** Exercises Fall 2015 | Exercises Spring 2015&lt;br /&gt;
** Exercises Friday F2014 | Exercises Friday F2014&lt;br /&gt;
** Exercises Monday SP2014 | Exercises Monday SP2014&lt;br /&gt;
** Exercises Friday SP2014 | Exercises Friday SP2014&lt;br /&gt;
** exercises|Exercises F2012&lt;br /&gt;
** exercises 2013 | Exercises SP2013&lt;br /&gt;
** howto upload homework | Howto Upload Homework&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=MediaWiki:Sidebar&amp;diff=1124</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=MediaWiki:Sidebar&amp;diff=1124"/>
				<updated>2015-02-06T02:29:24Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** Exercises Fall 2015 | Exercises Fall 2015&lt;br /&gt;
** Exercises Friday F2014 | Exercises Friday F2014&lt;br /&gt;
** Exercises Monday SP2014 | Exercises Monday SP2014&lt;br /&gt;
** Exercises Friday SP2014 | Exercises Friday SP2014&lt;br /&gt;
** exercises|Exercises F2012&lt;br /&gt;
** exercises 2013 | Exercises SP2013&lt;br /&gt;
** howto upload homework | Howto Upload Homework&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Exercises_Fall_1015&amp;diff=1123</id>
		<title>Exercises Fall 1015</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Exercises_Fall_1015&amp;diff=1123"/>
				<updated>2015-02-06T02:26:56Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: Created page with &amp;quot;== Homework == Add a link to each assignment on this wiki. This link should go under the heading of the assignment. Use the following form:  Your first name and last name -- Home...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Homework ==&lt;br /&gt;
Add a link to each assignment on this wiki. This link should go under the heading of the assignment. Use the following form:&lt;br /&gt;
&lt;br /&gt;
Your first name and last name -- Homework - Exercise 2 - Description (optional)&lt;br /&gt;
&lt;br /&gt;
Where &amp;quot;Exercise 2&amp;quot; is a link to the assignment.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1 ==&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1122</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1122"/>
				<updated>2015-01-30T15:42:50Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Programming for Artists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Wednesday 12-1:30 and Friday 1-2:30 in CG205&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1121</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1121"/>
				<updated>2015-01-30T15:41:34Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 1 1/30 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1120</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1120"/>
				<updated>2015-01-29T21:21:36Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 1 1/30 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1119</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1119"/>
				<updated>2015-01-23T22:05:46Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 1 1/30 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 3. The downside to using 3 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 3 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1118</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1118"/>
				<updated>2015-01-22T22:50:00Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 8 3/20 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm: Create a “chance composition” using algorithms you develop &amp;lt;b&amp;gt;encapsulated in functions&amp;lt;/b&amp;gt;. 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1117</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1117"/>
				<updated>2015-01-22T22:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 6 3/6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1116</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1116"/>
				<updated>2015-01-22T22:46:03Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 12 5/1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Improve Exercise 4 based on class feedback. Save and post as Exercise 5.&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1115</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1115"/>
				<updated>2015-01-22T22:45:42Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 12 5/1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Improve Exercise 4 based on class feedback. Save and post as Exercise 5.&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Crit Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Add sound to an old project or create a new project that uses sound.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1114</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1114"/>
				<updated>2015-01-22T22:42:27Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 10 4/17 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Improve Exercise 4 based on class feedback. Save and post as Exercise 5.&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Show what you learned in completing Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Chose a programming topic you would like to explore further or one that we haven&amp;#039;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.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1113</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1113"/>
				<updated>2015-01-22T22:41:33Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 8 3/20 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Improve Exercise 4 based on class feedback. Save and post as Exercise 5.&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of your Midterm.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Show what you learned in completing Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Chose a programming topic you would like to explore further or one that we haven&amp;#039;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.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1112</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1112"/>
				<updated>2015-01-22T22:39:39Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 2/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 2/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 2/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 2/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 3/6 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Improve Exercise 4 based on class feedback. Save and post as Exercise 5.&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 3/13 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 3/20 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
==== Class 9 3/27 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 4/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of your Midterm.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 4/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 5/1 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Show what you learned in completing Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Chose a programming topic you would like to explore further or one that we haven&amp;#039;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.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 5/8 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 5/15 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 5/22 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1111</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=1111"/>
				<updated>2015-01-22T22:34:39Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 1 1/30 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 1/30====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 9/19 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 9/23 (Tuesday) ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Improve Exercise 4 based on class feedback. Save and post as Exercise 5.&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/31 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of your Midterm.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
* Working with sound (Minim)&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play.txt example 1: playing a single mp3 file with animation]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_play2.txt example 2: playing two mp3 files]&lt;br /&gt;
** [http://understandingnewmedia.com/bretig/minim/sketch_playResponsive.txt example 3: making a sound responsive animation]&lt;br /&gt;
** [http://code.compartmental.net/minim/javadoc/ddf/minim/AudioPlayer.html More on Minim AudioPlayer methods]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/21 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Show what you learned in completing Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Chose a programming topic you would like to explore further or one that we haven&amp;#039;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.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/19 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	<entry>
		<id>http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=978</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://understandingnewmedia.com/p4a/index.php?title=Main_Page&amp;diff=978"/>
				<updated>2014-10-14T22:40:41Z</updated>
		
		<summary type="html">&lt;p&gt;Moorejoseph: /* Class 6 10/10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Programming for Artists ==&lt;br /&gt;
* Prof. Joseph Moore &lt;br /&gt;
* Friday 9:00 - 11:50&lt;br /&gt;
* http://joseph-moore.com&lt;br /&gt;
* email: understandingnewmedia@gmail.com&lt;br /&gt;
* Office hours: Friday 2 - 5&lt;br /&gt;
&lt;br /&gt;
=== Useful Links ===&lt;br /&gt;
* http://processing.org/ The Software!&lt;br /&gt;
* http://www.learningprocessing.com/ Website for the Book!&lt;br /&gt;
* http://understandingnewmedia.com/p4a/index.php?title=Exercises The Homework Wiki!&lt;br /&gt;
* http://www.cyberduck.io FTP Client!&lt;br /&gt;
* http://www.processing.org/learning/ Processing site tutorials!&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
* Learn fundamental programming concepts and approaches.&lt;br /&gt;
* Gain knowledge of artists working with computation.&lt;br /&gt;
* Apply this knowledge effectively in the creation of artworks.&lt;br /&gt;
&lt;br /&gt;
=== Student Responsibilities ===&lt;br /&gt;
* Turn in work on time.&lt;br /&gt;
* Turn in work before class starts on the course wiki.&lt;br /&gt;
* Sign the role, this is how I know you were in class.&lt;br /&gt;
* Participate in discussion.&lt;br /&gt;
&lt;br /&gt;
=== Method of Evaluation ===&lt;br /&gt;
* Participation and Attendance: 20%&lt;br /&gt;
* Exercises: 20%&lt;br /&gt;
* Midterm: 30%&lt;br /&gt;
* Final: 30%&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Plagiarism will not be tolerated and will result in a failure in the course! Please see CUNY&amp;#039;s policy on plagiarism [http://www1.ccny.cuny.edu/prospective/cwe2/current_policies.cfm  here].&lt;br /&gt;
&lt;br /&gt;
=== Class Etiquette ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Textbook ===&lt;br /&gt;
The textbook for this course is Learning Processing my Daniel Shiffman, available in the College bookstore and [http://www.amazon.com/gp/product/0123736021?ie=UTF8&amp;amp;tag=learniproces-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0123736021 online]. Any other reading will be handed out during class or it will be available online.&lt;br /&gt;
&lt;br /&gt;
=== Class Schedule ===&lt;br /&gt;
----&lt;br /&gt;
==== Class 1 8/29====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* We are going to use Processing 2. The downside to using 2 is that it is that some changes made for Processing 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 [http://wiki.processing.org/w/Changes wiki]. &lt;br /&gt;
* Download Processing 2 [http://processing.org/download/ here].&lt;br /&gt;
* creating a static sketch&lt;br /&gt;
* drawing [http://understandingnewmedia.com/p4a/examples/simple_shapes/ simple shapes]&lt;br /&gt;
* using color&lt;br /&gt;
* function calls&lt;br /&gt;
* comments&lt;br /&gt;
* Sol LeWitt [http://www.ericdoeringer.com/ConArtRec/LeWitt/LeWitt.html wall drawing instructions]&lt;br /&gt;
* uploading homework&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 2 9/5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Examine Exercise 1&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/rgb_color_wheel.pdf RGB color mixing]&lt;br /&gt;
* using [http://understandingnewmedia.com/p4a/examples/setup_draw/ setup() and draw()]&lt;br /&gt;
* Basic mouse and keyboard interaction&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_1 example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_2 example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/mouse_3 example 3]&lt;br /&gt;
* [http://understandingnewmedia.com/p4a/examples/Variables_Primitives.pptx Variables] (slides)&lt;br /&gt;
* Transformation Examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/translate_1/ translation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/rotation_1 rotation]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/scale_1 scaling]&lt;br /&gt;
* Abstraction and Movement&lt;br /&gt;
** Viking Eggeling&amp;#039;s [http://www.youtube.com/watch?v=ItCb6R9OV5A&amp;amp;feature=watch_response Diagonal Symphony] (video)&lt;br /&gt;
** Marcel Duchamp&amp;#039;s [http://www.youtube.com/watch?v=AsnhBUp7xxM Anemic Cinema] (video)&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/abstraction_movement_interaction.pptx Abstraction Movement Interaction] (slides)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read chapters 1-3 in the book.&lt;br /&gt;
* Exercise 1: Using the basic shape commands, e.g. line(), ellipse(), rect(), etc, create a self portrait.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 3 9/12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Primitives&lt;br /&gt;
* Variables&lt;br /&gt;
* Conditionals and Boolean Logic&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapters 4: Variables and 5: Conditionals&lt;br /&gt;
* 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 &amp;quot;drawing experience&amp;quot; based on user interaction, e.g. clicking toward the bottom of the screen makes a circle toward the top.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 4 9/19 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Loops and Iteration&lt;br /&gt;
** The while loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/while_1/ example 1]&lt;br /&gt;
** The for loop&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_1/ example 1]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_2/ example 2: stripes]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_3/ example 3: grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_4/ example 4: dot grid]&lt;br /&gt;
*** [http://understandingnewmedia.com/p4a/examples/for_5/ example 5: interactive dot grid]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/draw_loop_1/ animating with draw()]&lt;br /&gt;
* Variation and Transformation in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=xU23LqQ6LY4&amp;amp;feature=related Steve Reich]&lt;br /&gt;
** [http://www.youtube.com/watch?v=BzB31mD4NmA&amp;amp;feature=related John Whitney]&lt;br /&gt;
** [http://youtu.be/omDK2Cm2mwo Ryoji Ikeda]&lt;br /&gt;
** [http://www.youtube.com/watch?v=ssXF-mPJMRw Paul Sharits] and [http://www.ubu.com/film/sharits_interview.html interview]&lt;br /&gt;
** [https://www.google.com/search?q=josef+albers+homage+to+the+square&amp;amp;client=firefox-a&amp;amp;hs=kSz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;source=lnms&amp;amp;tbm=isch&amp;amp;sa=X&amp;amp;ei=mSYcVN_0F4eH8QH-mYGwCw&amp;amp;sqi=2&amp;amp;ved=0CAYQ_AUoAQ Josef Albers]&lt;br /&gt;
** [https://www.google.com/search?q=bridget+riley&amp;amp;client=firefox-a&amp;amp;hs=kUz&amp;amp;rls=org.mozilla:en-US:official&amp;amp;channel=sb&amp;amp;biw=1676&amp;amp;bih=926&amp;amp;tbm=isch&amp;amp;ei=KiccVKaHPIPt8AHFmoC4Bg Bridget Riley]&lt;br /&gt;
** [http://www.ubu.com/sound/lucier.html Alvin Lucier]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Class 5 9/23 (Tuesday) ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 4.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 6: Loops&lt;br /&gt;
* Exercise 4: Create two processing sketches that explore repetition, variation, and change. One sketch should use a for loop, the other a while loop.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 6 10/10 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Functions&lt;br /&gt;
* Block Scope&lt;br /&gt;
* random()&lt;br /&gt;
* Perlin noise&lt;br /&gt;
* Interactivity and Participation&lt;br /&gt;
** [http://www.youtube.com/watch?v=dmmxVA5xhuo Myron Kruger]&lt;br /&gt;
** [http://www.youtube.com/watch?v=8Yggbr0cPXE Lynn Hershman]&lt;br /&gt;
** [http://www.youtube.com/watch?v=61l7Y4MS4aU Jeffrey Shaw]&lt;br /&gt;
** [http://en.wikipedia.org/wiki/Jodi_%28art_collective%29 JODI]&lt;br /&gt;
* &amp;quot;Non-determinism&amp;quot; in Art&lt;br /&gt;
** [http://www.youtube.com/watch?v=8fPSz-o4zzY John Cage]&lt;br /&gt;
** [http://www.moma.org/collection/browse_results.php?criteria=O%3AAD%3AE%3A11&amp;amp;page_number=3&amp;amp;template_id=1&amp;amp;sort_order=1 Hans Arp]&lt;br /&gt;
** [http://www.youtube.com/watch?v=7RLJW0-9AyQ William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/burroughs_cut.html William Burroughs]&lt;br /&gt;
** [http://www.ubu.com/film/xenakis.html Iannis Xenakis]&lt;br /&gt;
* Function examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_1 Example 1]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_2 Example 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/function_3 Example 3]&lt;br /&gt;
* Random examples&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/noise_pixels Random noise]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_random Random noise walk]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/walker_noise Perlin noise walk]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Improve Exercise 4 based on class feedback. Save and post as Exercise 5.&lt;br /&gt;
* Read Chapters 7: Functions&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 7 10/17 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Midterm&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 8 10/24 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Midterm Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
==== Class 9 10/31 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Objects&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/proceduralCar/ Procedural Car]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/oopCar/ Object Oriented Car]&lt;br /&gt;
* Arrays&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/array_1/ Simple Array]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/carArray/ Car Array]&lt;br /&gt;
* Debugging&lt;br /&gt;
* Using libraries&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Read Chapter 8: Objects and 9: Arrays&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 10 11/7 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Introduction to Image Processing&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_1 example 1: loading an image]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_2 example 2: changing opacity]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_3_array example 3: an array of images]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_4_pixels_1 example 4: drawing pixels]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_5_pixels_2 example 5: drawing pixels 2]&lt;br /&gt;
** [http://understandingnewmedia.com/p4a/examples/image_6_pixels_3 example 6: drawing pixels 3]&lt;br /&gt;
* Introduction to Video&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 5: Create an object-oriented version of your Midterm.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 11 11/14 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* View Exercise 6&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 6: Create a project using the processing video or image library.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 12 11/21 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Show what you learned in completing Exercise 7&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Exercise 7: Chose a programming topic you would like to explore further or one that we haven&amp;#039;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.&lt;br /&gt;
* 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.)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Class 13 12/5 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 14 12/12 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Work on Final Project&lt;br /&gt;
----&lt;br /&gt;
==== Class 15 12/19 ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; In Class &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Critique&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Homework Due &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Final Project!&lt;/div&gt;</summary>
		<author><name>Moorejoseph</name></author>	</entry>

	</feed>