FOUNDATIONS OF CREATIVE CODING AET 319 – FALL 2016

advertisement
FOUNDATIONS OF CREATIVE CODING
AET 319 – FALL 2016
COURSE:
Foundations of Creative Coding
AET 319 (Unique #19813)
INSTRUCTOR:
Dr. Shirley Steele
DFA 2.404
steele@austin.utexas.edu
Office hours: Monday: 10-12
TEACHING ASSISTANT:
LECTURES:
PROJECT LAB:
Yanxian (Jackie) Liu
Yanxian.liu@hotmail.com
MWF 12:00-1:00, CLA 1.108
Wednesday, 1 afternoon hour (in the time-frame 1-4pm), DFA 4.112
REQUIRED TEXTBOOK:
Learning Processing, 2nd edition, Daniel Shiffman
http://learningprocessing.com
SOFTWARE:
Processing: download from https://processing.org/
HARDWARE:
computer required
COURSE GOALS:
Foundations in Creative Coding is a hands-on artist’s guide for expressing original ideas directly
in computer code using the graphics language Processing. Students will learn to make
computer tools for implementing their own artistic visions. We’ll explore the computer’s role as
artist’s medium in the context of major ideas in contemporary art, and we’ll work on original
coding projects with skills developed in regular classroom exercises.
INDIVIDUAL CREATIVE PROJECTS:
Project 1: Design original Screen Creature, static and interactive
Project 2: Variables and more flexible behavior for the Screen Creature
Project 3: The Screen Creature as object
Project 4: Arrays of Screen Creature-objects, strange behaviors
Project 5: Step-by-step simple game construction
Project 6: Ecosystem with un-dead Screen Creatures
Project 7: Software mirror using computer vision techniques
Project 8: Create data visualization
Project 9: Incorporate sound into a sketch
COURSE SCHEDULE:
This syllabus represents my current plans and objectives. As we go through the semester, those
plans may need to change to enhance the class learning opportunity. Such changes,
communicated clearly, are not unusual and should be expected.
…………………………………………………………………………………………………………..
Wed., August 24:
Lecture 1: LESSON 1
Intro. to course
Course information, mechanics, book
Course goals, Syllabus
Casey Reas and the UT Dept. of Computer Science
More examples, artists working in Processing
Pixel coordinates
Basic shapes (point, line, rectangle, ellipse)
Basic color: RGB, grayscale, transparency
Assignment:
Read Shiffman, Intro & Chapt. 1 for Friday, Aug. 26
Read Chapt. 2 for Monday, Aug. 29
…………………………………………………………………………………………………………..
Fri., August 26:
Exercises 1-1, 1-2, 1-3, 1-5, 1-7
Discuss Individual Project 1 (p. 45)
…………………………………………………………………………………………………………..
Mon., August 29
Lecture 2: LESSON1, Discuss Chapt. 1, 2
Sol LeWitt and the art-making process
Cy Twombly and the continuous line
Processing interface, sketchbook, reference
your first sketch
the flow of a Processing program
setup and draw
mouse interaction
your first dynamic sketch
Assignment: Read Chapt. 3 and 4 for Wed., Sept. 31
…………………………………………………………………………………………………………..
Wed., August 31
Lecture 3: LESSON 2, Discuss Chapt. 3
Bridget Riley and Op Art circles
variables, declaring, initializing
common uses
built-ins
random values
Individual Project 1 due
Afternoon Project Lab 1: Exercises in Chapts 3 & 4
Assignment: Read Chapt. 5 & 6 for Wed., Sept. 7
…………………………………………………………………………………………………………..
Fri., September 2:
Exercise # 4-7
Other review as necessary
…………………………………………………………………………………………………………..
Wed., September 7
Lecture 4: LESSON 2, Discuss Chapt. 5, 6
Bridget Riley and an Op Art grid of squares
Donald Judd and iteration
Boolean expressions
If, else, if else
Operators, relational and logical
Iteration
While and for loops
Local vs. global scope
Afternoon Project Lab 2: Exercises in Chapts. 5 & 6
Assignment: Read Chapt. 7 for Mon., Sept. 12
…………………………………………………………………………………………………………..
Fri., September 9:
Exercise # 5-10
Exercise # 6-7
Discuss Individual Project 2
…………………………………………………………………………………………………………..
Mon., September 12
Lecture 5: LESSON 3, Chapt. 7
modularity
functions, declaring, defining, calling
arguments and parameters
returning a value
reusability
Individual Project 2 due
Assignment: Read Shiffman Chapt. 8 for Wed., Sept. 14
…………………………………………………………………………………………………………..
Wed., September 14
Lecture 6: LESSON 3, Chapt. 8
Data and functionality
Objects and classes
Processing tabs
Afternoon Project Lab 3: Exercises in Chapts. 7 & 8
Assignment: Read Shiffman, Chapt. 9 for Wed., Sept. 21
…………………………………………………………………………………………………………..
Fri., September 16:
Discuss Individual Project 3
Exercise # 7-10
Exercise # 8-6
…………………………………………………………………………………………………………..
Mon., September 19
Lecture 7: LESSON 3, Chapt. 8
more about objects
Individual Project 3 due
…………………………………………………………………………………………………………..
Wed., September 21
Lecture 8: LESSON 4, Chapt. 9
Donald Judd and 1-dimensional arrays
arrays: declaring, initializing
operations
arrays of objects
Afternoon Project Lab 4: Exercises in Chapts. 8 & 9
Assignment: Read Shiffman, Chapt. 10 for Wed, Sept. 28
…………………………………………………………………………………………………………..
Fri., September 23:
Discuss Individual Project 4
Exercise # 9-8
…………………………………………………………………………………………………………..
Mon., September 26
Lecture 9: LESSON 4, Chapt. 9
more about arrays
Individual Project 4 due
…………………………………………………………………………………………………………..
Wed., September 28
Lecture 10: LESSON 5, Chapt. 10
Manfred Mohr and algorithmic art
algorithms
developing code ideas
Afternoon Project Lab 5: Exercises in Chapts. 9 & 10
…………………………………………………………………………………………………………..
Fri., September 30:
Discuss Individual Project 5
Review for Midterm exam
…………………………………………………………………………………………………………..
Mon., October 3
Lecture 11: LESSON 5, Chapt. 10
algorithms
developing code ideas
…………………………………………………………………………………………………………..
Wed., October 5
Lecture 12:
MIDTERM EXAM
…………………………………………………………………………………………………………..
Fri., October 7:
Preview Chapts. 11 & 12
…………………………………………………………………………………………………………..
Mon., October 10
Lecture 13: LESSON 5, Chapt. 11, 12
debugging
libraries
Individual Project 5 due
…………………………………………………………………………………………………………..
Wed., October 12
Lecture 14: LESSON 6, Chapt. 13
Bathsheba Grossman & math sculpture
modulus
probability
Perlin noise
map function
trigonometry
recursion
Afternoon Project Lab 6: Exercises in Chapt. 13
…………………………………………………………………………………………………………..
Fri., October 14:
Exercise # 13-12
…………………………………………………………………………………………………………..
Mon., October 17
Lecture 15: LESSON 6, Chapt. 13
Andy Warhol, Chuck Close and 2-dimensional arrays
2-dimensional arrays
…………………………………………………………………………………………………………..
Wed., October 19
Lecture 16: LESSON 6, Chapt. 14
translation and rotation
2D and 3D
vertex shapes
pushMatrix
popMatrix
Afternoon Project Lab 7: Exercises in Chapts. 13 & 14
…………………………………………………………………………………………………………..
Fri., October 21:
Discuss Individual Project 6
…………………………………………………………………………………………………………..
Mon., October 24
Lecture 17: LESSON 6, Chapt. 14
more translation and rotation
Individual Project 6 due
…………………………………………………………………………………………………………..
Wed., October 26
Lecture 18: LESSON 7, Chapt. 15
Images
PImage class
Displaying images
Changing image color
Simple image processing
Interactive image processing
Afternoon Project Lab 8: Exercises in Chapts.15
…………………………………………………………………………………………………………..
Fri., October 28:
Exercise # 15-12
…………………………………………………………………………………………………………..
Mon., October 31
Lecture 19: LESSON 7, Chapt. 15, 16
Lillian Schwartz and abstract computer videos
more images
start video
…………………………………………………………………………………………………………..
Wed., November 2
Lecture 20: LESSON 7, Chapt. 16
Bill Viola and figurative video
displaying live video
recorded video
software mirror
computer vision basics
Afternoon Project Lab 9: Exercises in Chapts. 15 & 16
…………………………………………………………………………………………………………..
Fri., November 4:
More Exercises, Chapt. 16
Discuss Individual Project 7
…………………………………………………………………………………………………………..
Mon., November 7
Lecture 21: LESSON 8, Chapt. 17
Jenny Holzer and the projected word
text
string objects
basic string functionality
creating and loading fonts
displaying text
Individual Project 7 due
…………………………………………………………………………………………………………..
Wed., November 9
Lecture 22: LESSON 8, Chapt. 17
more text
Afternoon Project Lab 10: Exercises in Chapt. 17
…………………………………………………………………………………………………………..
Fri., November 11:
Exercise # 17-10
…………………………………………………………………………………………………………..
Mon., November 14
Lecture 23: LESSON 8, Chapt. 18
Jer Thorp and the weight of data
data input
manipulating strings
reading and writing text files
tabular data
word counting and text analysis
…………………………………………………………………………………………………………..
Wed., November 16
Lecture 24: LESSON 8, Chapt. 18
more data input
Afternoon Project Lab 11: Exercises in Chapt. 18
…………………………………………………………………………………………………………..
Fri., November 18:
Discuss Individual Project 8
…………………………………………………………………………………………………………..
Mon., November 21
Lecture 25: LESSON 9. Chapt. 20
Max Mathews and the bicycle built for two
sound
simple playback
adjusting volume, pitch, pan
sound synthesis
sound analysis
Individual Project 8 due
…………………………………………………………………………………………………………..
Mon., November 28
Lecture 26: LESSON 9, Chapt. 20
more sound
…………………………………………………………………………………………………………..
Wed., November 30
Lecture 27: LESSON 9, Chapt. 21
web and JavaScript
Stand-alone applications
High resolution PDF’s
Images and image sequences
Video recording
Individual Project 9 due
Afternoon Project Lab 12: TBA
…………………………………………………………………………………………………………..
Fri., Dec. 2:
Review/Discussion
…………………………………………………………………………………………………………..
Mon., December 5
Lecture 28: Review/Discussion
Download