View
 

Creative Programming

Page history last edited by designcomputing 1 year, 8 months ago
Course tweet:
"Welcome to the fun side of computer programming, a powerful tool for creativity"
Course Summary: 

"Creative programming" is a course aimed at artists, designers and all sorts of visual people with non-specialised backgrounds who feel curious about the potential of computer programming in their creative pursuits. It purposefully leaves aside most of the 'fundamentals' behind computer languages. "Creative programming" instead focuses on hands-on activities and related reflection processes that will help people put code into creative practice from the very first session. The course is focused on visual programming and uses open-source platforms such as Context Free Art and Processing.

 

Learning Goals:

The aim of this course is to get you started with the code, and "believe it or not" its main challenge is to show you that it ain't difficult! Once you grasp the fun side of programming with all the visual and interactive rewards, this course will provide the means to keep you motivated, share your achievements with your peers and get support from the community of creative learners. Your task is twofold: to adopt an open attitude to programming, and to immerse yourself in long hours of experimentation with computer code. By the end of this course, you will feel confident about learning computer code and empowered as a "creative geek" ;)

 

Facilitator:

Ricardo Sosa, PhD in Design Computing (University of Sydney, Australia 2005)

 

Requirements: 
  • Visual literacy is necessary: fundamentals of shape composition, colour combination, design language, etc.
  • Basic to intermediate computer skills including word processors, presentation slides, and preferably image editing software, website design, etc.
  • An open attitude to explore and push the frontiers of computational art.
  • Students need to follow intermediate to advanced instructions to install open-source software and development platforms such as Java in their computers.

 

Sign Up Requirement:

Please respond the following questions:

  1. What are your current "creative tools" (hardware, software, traditional media and tools, etc)?
  2. Have you ever tried to learn a computer programming language? If yes, which one and how proficient are you?
  3. What type of work have you imagined that you could create if you could program even at a basic or intermediate level?
  4. Do you know of any creative application of computer programming that you consider paradigmatic or exemplary? If yes, which one? (provide URL if available)
  5. How many hours would you be able to work per week on this course? (mainly completing basic programming tasks and exploring code on your own, plus the occasional reading)

 

 

Motivation: 

Computer programming and creative visual skills are usually separated in practice. Lots of artists and designers want to explore new possibilities through computational means (not just the use of commercial software), but there is a lack of courses, books and teaching materials aimed at learning computer programming without all the sophisticated theoretical foundations of computer science. I myself spent countless hours frustrated at specialised and tech-oriented courses and books. For this reason, I have developed an approach to teach computer programming in a visual, interactive and engaging way. This is a course I have taught since 2003 in Australia, Mexico and Ecuador both at the undergrad and postgraduate levels.

 

Audience: 
  • Creative, visual people, usually artists and designers interested in exploring the world of computational code
  • Also computer programmers who are interested in applying their skills into rich and engaging visual solutions

 

Experience: 

I have taught this course since 2003 first in the master in digital media at the University of Sydney, Australia, then at the master in design at the Universidad Autonoma Metropolitana, Mexico and more recently at the master in multimedia development at the Universidad del Azuay in Ecuador. More informally, I have advised lots of design and art colleagues as they acquire these skills by themselves.

 

Note: An essential component of this course is the time spent by each individual student exploring the code, modifying it, experiencing the process of programming. Also, peer-support is a strong element of this course as students are expected to work together and provide support and feedback to each other.

 

 

Course Outline

  Topic Objective Deliverable
week 1
The power of creative code
To understand the potential role of computer programming as part of the toolkit for creative artists and designers. Essay based on three readings suggested
week 2
Playing with shape grammars
To explore and play around with simple coding structures and commands, generating interesting recursive and random images. Assignments modifying sample code and a simple project using ContextFree Art
week 3
Installing and understanding Processing
To successfully install the Java SDK and Processing framework in our computers and understand its nature, interface, and documentation. "Hello creative world" exercise in Processing
week 4
Playing with Processing
To explore and play around with sample code projects in Processing in order to understand its structure, syntax and power. Assignments modifying sample code using Processing
week 5
Creative project I
To design an individual project using Processing 'from scratch' and implement a proof-of-concept version. Project specification and early progress.
week 6
Creative project II
To implement a demo version of the individual project and specify future development stages. Contribution to the gallery of projects and reflective essay on the creative role of computer programming

 

 

Week 1: The power of creative code

Presentation: "Creativity and computers" by Ricardo Sosa

Readings:

- Harold Cohen's "ON PURPOSE" (1974); 

- Bentley, P. J. and O’Reilly, U. M. "Ten Steps to Make a Perfect Creative Evolutionary Design System" (2001);

- Casey Reas "Beyond Code" (2007).

  Assigments:

- Thursday deadline: submit an 800-word individual essay based on the three readings suggested where the link between computers & creativity is explored.

- Monday deadline: every student writes a three-paragraph review of two essays from their peers.

Meeting times: An introductory synchronous meeting takes place to discuss the main ideas of this first activity. 

 

Week 2: Playing with shape grammars

Presentation: "Algorithmic Art" by Ricardo Sosa

Readings: "Context Free in a Nutshell" (pdf)

Assigments: Download the zipped file "exercises_week_2.zip", uncompress and follow the instructions in file "readme.txt" to complete the three assignments of this week

- Friday deadline: submit the three final cfdg files with this format: YourLastName_WeekNumber_FileNumber.cfdg

Meeting times: An asynchronous forum is open through the week with two threads of discussion: "Troubleshooting ContextFreeArt" and "Reflections on Recursion and Randomness"

 

Week 3: Installing and understanding Processing

Presentation: "Quick Intro to Processing" by Ricardo Sosa

Readings: "Art, Emergence, and the Computational Sublime" by Jon McCormack and Alan Dorin (2002)

Assigments: Download the zipped file "exercises_week_3.zip", uncompress and follow the instructions in file "readme.txt" to complete the three assignments of this week

- Friday deadline: submit the three final pde files with this format: YourLastName_WeekNumber_FileNumber.pde

Meeting times:

- An asynchronous forum is open through the week with two threads of discussion: "Troubleshooting Processing" and "Reflections on Emergence"

- A synchronous meeting takes place to discuss the development of the course and share ideas.

Week 4: Playing with Processing

Presentation: "First Processing Challenges from Scratch" by Ricardo Sosa

Assigments: Download the zipped file "exercises_week_4.zip", uncompress and follow the instructions in file "readme.txt" to complete the three assignments of this week

- Friday deadline: submit the three final pde files with this format: YourLastName_WeekNumber_FileNumber.pde

Meeting times:
- The asynchronous forum remains open through the week with two threads of discussion: "Troubleshooting Processing" and "Reflections on Emergence"

 

Week 5: Creative project I

Presentation: "From Ideas to Projects" by Ricardo Sosa

Assigment: Friday deadline: create the 'design brief' of your final project following the five stages explained in the presentation: identifying opportunities, formulating messages, gathering data and defining requirements. Fill and submit the "ProjectBriefTemplate.doc" form with this format: YourLastName_ProjectName.doc

Meeting times:  An asynchronous forum is open through the week with one single thread of discussion: "Aims, content and delivery of my project"

 

Week 6: Creative project II

Presentation: "Implementing and Testing Sketchy Ideas" by Ricardo Sosa

Assigment: Friday deadline: create a "proof of concept" version of your project implementing the main ideas in Processing. Submit the final pde file(s) with this format: YourLastName_FinalProject.pde

Meeting times: A final synchronous meeting takes place to discuss the progress of each project and formulate a plan for future work.

 

 

References:

http://www.openprocessing.org/

http://vis.stanford.edu/protovis/ex/

 

Galleries:

http://www.shiffman.net/teaching/nature/

http://www.donhavey.com/blog/category/tutorials/processing/

http://toddvanderlin.com/

http://moebio.com/santiago/

http://www.visualcomplexity.com/vc/search.cfm?input=processing

 

 

Comments (0)

You don't have permission to comment on this page.