AP2017
Aesthetic Programming in 2017
Install / Use
/learn @AUAP/AP2017README
Aesthetic Programming 2017 @ Aarhus University
Course title: Aesthetic Programming (20 ECTS), 2017
Name: Winnie Soon (wsoon@cc.au.dk)
Time: Every Tue 0800 – 1100 (3 hours)
Location: 5361-144
class detail: backup/ Google doc / PiratePad
OUTLINE:
“Aesthetic Programming” is a practice-based course requires no prior programming experience but an interest to explore the relationship between art, design, technology and culture within the context of software studies. The course introduces coding as an aesthetic and critical endeavour beyond its functional application. It explores coding as a practice of thinking with and in the world, and understanding the complex computational procedures that underwrite our experiences and realities in digital culture. Through coding practice, students are able to contextualize, conceptualize, articulate, design and write a piece of software. Emphasis is placed on the student acquiring practical skills of expression through an introduction to programming, and this course uses P5.js primarily, which serves as a foundation for further courses on Digital Design.
The course is designed to complement the parallel course in SOFTWARE STUDIES where further critical work will be developed and expanded but without losing sight of coding as critical work in itself. Examples of artists and designers will be introduced that work with coding as their expressive material.
TASKS:
- Individual weekly mini exercises + peer feedback
- Peer-tutoring/Peer-feedback: within 30 mins in-class presentation with respondents
- FINAL group project - in the form of a “readme” and a “runme” (software) packaged + in class presentation
- Oral exam (Date: to be confirmed)
Other learning support environment:
- Weekly 2 hours tutorial session (every Wed - Mandatory)
- Weekly 4 hours shut up+code or code study group discussion (every Friday 10.00-14.00- Optional in 5361-135)
LEARNING OUTCOMES:
- Learn basic concepts in computer programming, such as structures, functions, arrays, conditional statements, objects, and interactivity.
- Design and develop computational artefacts.
- Integrate practical and theoretical skills to articulte and develop computational artefacts.
- Recognize coding practice as a way of thinking and inquiry to understand wider cultural systems (computational thinking).
CLASS SCHEDULE:
Class 01 > Week 5: No physical class. No tutorial session
- Transmediale Festival
- Reading/Listening: <br> - Podcast: Episode 576: When Women Stopped Coding <br>- Article: Women in Computing History by Denise Gurer
- Thinking line: <br> Think about what you have experienced in childhood and today, such as advertisement, packaging, and marketing strategies on games/electronic devices, have you experienced any forms of gender bias? How’s the practice of coding influenced by culture and society?
Class 02 > Week 6 [7-Feb]: Code and Practice. No tutorial session
Introduction
- Reading/Listening: <br> - Article: Fazi, M. B and Fuller, M. (2016). Computational Aesthetics. In C. Paul (Ed), A Companion to Digital Art. John Wiley & Sons, Inc. (check blackboard) <br>- Article: Yuill, S. (2005). Programming as Practice. In J. Gibbons and K. Winwood (Eds.), Hothaus Papers: perspectives and paradigms in media arts, Birmingham: ARTicle Press. http://www.lipparosa.org/essays/syuill_progprac.pdf<br>- Article: Montfort, N (2016). Exploratory Programming For the Arts and Humanities. MIT Press. (check blackboard - Appendix A: Why Program?)
- Weekly mini ex1: due week 7 - Net Art Review <br> Check mini ex1 folder
Class 03 > Week 7 [14-Feb]: Code and Get Started. Tutorial session on Wed
Installation, reading, writing, sharing, control, introduction to p5.js and Github
- Reading/Listening: <br> - Video on p5.js: hello <br>- Video on p5.js: Introduction by Daniel Shiffman (must watch: 1.1) <br> - Article on p5.js: First steps with p5.js by Allison Parrish <br> - Tutorial on p5.js: Get started <br> - Video on Github: Sharing/version control/operation/hosting by Daniel Shiffman (must watch: 1.1, 1.2, 1.4, 1.8)
- Weekly mini ex2: due week 8 - My first program <br> Check mini ex2 folder
Class 04 > Week 8 [21-Feb]: Code and Loading. Tutorial session on Wed
Basic Drawing, use of shapes, loading images. Functions include: fill, Color, Image, Shape
- Reading/Watching: <br> - Video on p5.js by Daniel Shiffman (must watch: 1.2 and 1.3) <br> - Example on p5.js: Simple Shapes <br> - Syntax on p5.js (see: Load and Display Image)
- Peer-tutoring: Group 1 / Respondents: Group 2 , Topic: Loading with push() and pop() <br>- Describe the syntax, and how to use it? (see [ref] (http://genekogan.com/code/p5js-transformations/) <br>- Sample code <br>- Can you discuss your work with one or more aspects of Fazi and Fuller’s understanding of computational aesthetics?
- Weekly mini ex3: due week 9 - Design a throbber <br> Check mini ex3 folder
Class 05 > Week 9 [28-Feb]: Code and Interactivity. Tutorial session on Wed
Input/Output, event listener, conditional statements, sensing and functions
- Reading/Watching: <br> - Video on p5.js: interactivity/conditional statements/functions by Daniel Shiffman (must watch: 2.1, 2.2, 3.1, 3.3, 3.4, 4.1, 4.2, 5.1, 5.2, 5.3) <br> - Tutorial: Interactivity1 <br> - Tutorial: Interactivity2<br>- Article: Cybernetics and the Pioneers of Computer Art by Thomas Dreher
- Peer-tutoring: Group 3 / Respondents: Group 4 , Topic: Conditions with sound and video <br>- How to incorporate sound and video in your sketch? <br>- Sample code <br>- Can you associate your work with one or more aspects of Fazi and Fuller’s understanding of computational aesthetics?
- Weekly mini ex4: due week 10 - Feedback loop <br> Check mini ex4 folder
Class 06 > Week 10 [7-Mar]: Code and Language. Tutorial session on Wed
text, typography, arrays, load external data
- Reading/Watching: <br> - Syntax on p5.js (All functions within Typography category)<br> - Tutorial on p5.js: Text and Type by Allison Parrish <br> - Video on p5.js: Arrays by Daniel Shiffman (must watch 6.1 and 6.2) <br> - Article: The aesthetics of materiality in electronic literature by Serge Bouchardon
- Peer-tutoring: Group 5 / Respondents: Group 6 , Topic: RiTa library <br>- How to import and use RiTa library in your sketch? (see ref1 and ref2 ) <br>- Sample colde <br> - Can you express your thoughts about your sample code in relation to the aesthetics of materiality in electronic literature
- Weekly mini ex5: due week 11 - Electronic Literature <br> Check mini ex5 folder
Class 07 > Week 11 [15-Mar : WED NOT TUE/@ 8-11 in 5361-135]: Code and Generativty. Tutorial session on FRI
Unpredictability, randomness, loop, rules
Guest Lecture on Generatviity by Tobias Stenberg Christensen
- Reading/Watching: <br> - Video: How to draw with Code by Casey Reas <br> - Article: Generative Art Theory (2016) by Philip Galanter (check blackboard) <br> - Video: Factal Trees – Recursive by Daniel Shiffman
- No Peer Tutoring
- Weekly mini ex6: due week 12 - Generative art/program <br> Check mini ex6 folder
Class 08 > Week 12 [21-Mar]: Code and Objects. Tutorial session on Wed
object and array
- Reading/Watching: <br> - Video on p5.js: objects by Daniel Shiffman (must watch: 2.3, 5.4, 6.3-6.5) <br> - Tutorial on p5.js: Objects and Arrays of objects1 <br> - Tutorial on p5.js: Objects and Arrays of objects2 <br> - Sample code: object, behavior and p5.dom library <br> - Article: The Birth of Object Orientation: the Simula Languages by Ole-Johan Dhl (2001) or Object-oriented programming: Some history, and challenges for the next fifty years (2013) by Andrew P. Black
- Peer-tutoring: Group 7 / Respondents: Group 8 , Topic: p5.dom library <br>- How to import and use p5.dom library in your
