SAMPLE SYLLABUS
//ART 3704 Creative Code w/Processing

TR 10:20-12:15
Prof. Lesley Duffield
Office: Henderson 350
Office Hours: By Appointment

Download processing
Links to an external site.

“Processing seeks to ruin the careers of talented designers by tempting them away from their usual tools and into the world of programming and computation. Similarly, the project is designed to turn engineers and computer scientist to less gainful employment as artist and designers.”

Unofficial Mission Statement for Processing - Ben Fry (Co-Creator of Processing):

//overview

This course is something different. The role of the teacher is one of facilitation— where we work together as a cluster to boost one another to new levels of understanding. This is not a competition. “Better than” attitudes will not impress me.

Creative Code is a bridge between the distant camps of software engineering and studio art. The expanded aesthetic fields of sculpture and new media have been bolstered by engineering, giving the artist a foothold to reconsider how we occupy space as collaborators working with with the incalculable talents of the computer.

Increasingly, artists and designers are starting to use the language of software, coding languages, as their primary tool of creation. Writing code gives the artist/designer access to the primitive building blocks of computer graphics, and allows them to create new tools and forms of expression that would not be possible with commercial applications.

Indeed, this is a different kind of course still—  because we are moving beyond notions of skill or mastery as an end goal. There are no typical “Assignments” but there are required studio projects. I assure you, there will be more starts and fits than completed gestures as we move forward. As a cohort, we will work together, aspiring above all else to persevere, to explore creatively and freely, and to construct projects that are poetic, elegant, and human.

 

At its most functional level, this course will serve as a basic introduction to Processing as a creative tool in a learning space built on curiosity and mutual exchange.

//goals and outcomes

Two strata are applied to students based on their level of comfort with coding in general.

Foundational Level students will:

  • come to understand the growing influence of code as a creative tool for creatives

  • learn to write pseudo-code that illustrates computational thinking

  • develop the ability to write your own code from scratch

  • create unique works of generative art and design

More Advanced students will:

  • further develop your vision for using code as a creative tool

  • learn to incorporate external libraries and/or sensors to extend Processing’s functionality

  • meaningfully discuss the role of computational thinking in your work

  • increase knowledge and ability of growing trends in generative art and design

//Assignments and Grades

Given the range of experiences that students in this course have with coding, there will be no set list of Assignments. The goal is to get students up and running with the basics of code as fast as possible and then let students start to synthesize ideas of what they want to create.

Thinking computationally, creatively, and independently are very important parts of the digital classroom and will be a factor in the grading of student work. As an artist, I have avant-gardist leanings that encourage experimentation with data as a component of performance. Given my background, I will bring energy and focus to push you to create projects that are meant to be shared with the public. You will be rewarded for boldness of experimentation and effort.

Intro:

The first half of the semester will be dedicated to teaching the basics of Processing with the goal of building a technical and creative scaffolding that can be used during the second half of semester for more self-directed projects. During this introductory period, small example sketches will be introduced in class that illustrate certain concepts (use of geometric primitives, color, motion, etc). For these intro assignments, students will be asked to build upon these demonstrated examples to create their own unique sketches. Successful examples will illustrate an ability to think creatively about the use of the code and the final visual product.

Advanced:

Students who already have some experience coding will work on a one-on-one basis with me to define a creative research direction that they intend to explore.

Pseudo-Code and Commenting:

An important part of the creative process in this class will be the demonstration of computational thinking through the writing of pseudo-code. For someone new to coding, writing pseudo-code is a fantastic way of wrapping your brain around the problem at hand without getting hung up on the specific details of code syntax.

Commenting your code is not just a requirement for this class, but considered a necessary practice for everyone in the world who is writing code. As a project gets increasingly complex, it is a great way to remind you what certain pieces of code are doing. And comments obviously will help others understand your code. In trying to help you with the technical challenges of learning code, comments will allow me to quickly identify problems that you might be having. Failure to comment the code that you turn in for assignments will result in a decreased grade on the project.

 

Sketching:

When appropriate (which will be most of the time) students will need to provide sketches before they start on own their projects, especially their self-defined projects later in the semester.

 

Iteration:

Fundamental to the process of writing code is the idea of iteration.
Ideas are developed, sketches (both on paper and in code) are made, and some kind of result (usually visual in our case) is achieved, and then changes are made and a new result is arrived at. Given that iteration is so ingrained in this process, I encourage students to revisit earlier attempts throughout the semester and continuing to develop them further. Previous given grades will be adjusted for improving previous work.

 

//Plagiarism in an Open Source World

Processing is developed as an open source framework for the community at large to contribute to. Without much effort, one can easily find an entire range of example code from various sources, which makes Processing a great platform for anyone learning how to write code. But it also presents a slippery slope, where referencing these examples turns into wholesale copying and pasting of chunks of code from these examples into your own code without acknowledging the source. For those just learning to code, it is important for you to experiment with the shared code examples of others. Reverse engineering their code to see how it works is part of the learning process, but obvious and blatant use of someone else’s code which you claim to be solely your own is wrong and will not be tolerated. If necessary, coding “tests” will be given in class to test exactly what you know on your own, and what you do not. Please refer to either the undergraduate or graduate honor code if you are not familiar with it.

//TextBooks

There are two required textbooks for this class. The others listed strictly for those that would like to dive in deeper and are optional. The Generative Art book can be viewed for free as a digital copy through the Newman Library online portal. You must sign in with your PID to access it.

 

The Processing website has a more extensive list of excellent books. You might want to check out.

 

//Online Resources

 

//Attendance

Given the fluid nature of this course, it is extremely important that you do not miss class. Missing coding demos will make the initial learning process very difficult for those just starting out with code. Part of your project grade for assignments will also be your contribution to discussions and critiques. Four unapproved absences will result in a full letter grade decrease of your final grade for the course. Six unapproved absences will result in a failing grade for the course.