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