Workshops in Creative Coding-

I am a Lecturer of Computational Arts in the Department of Computing, Goldsmiths, University of London, teaching openFrameworks/C++ and related technologies to aspiring artists. I am also the course leader for the MA/MFA in Computational Arts as well as the BSc in Digital Arts Computing. The course introduces students to a range of techniques and practices for creating interactive audiovisual software. This will include computational and process-based thinking, perspectives on audio and visual perception, algorithms for creating graphics and sound, advanced topics in computational media and project development.

I was previously an adjunct lecturer at the Athens School of Fine Arts and later running the {codezoners} course at Ravensbourne College in London.

Course aims+

Creating computing art, instead of just observing it, gives students a deeper understanding of the essential and impressive capabilities of computation. The Processing and openFrameworks programming environment is the main tool of the class and the course is designed for computer programming novices. In order to reach that goal they are presented, on a weekly basis, with an objective and are taught how to achieve it by programming. Relevant artworks and prototypes are demonstrated and discussed and programming solutions are proposed and analysed so that students familiarize themselves with the thought process involved. Soon, students start seeing the computer not just as a passive presentation device, but as an active participant, or even as an exclusive and independent creator of art.

Course syllabus+

This is a list of topics I try to cover during my courses. Things occasionally pop in and out of existence, but in general, these are the topics I consider important for a computational artist to master:

Introduction to computational art

Introduction to openFrameworks

Loops and repetition

Number generators: sine, noise etc.

Image and video

Generating audio – part I

Generating audio – part II

Emergence of complexity and object oriented design

Computer vision – part I

Computer vision – part II

Messaging with OSC

Machine learning for artists

3D graphics

Advanced generative algorithms: genetic algorithms, fractals etc.

Why Programming?+

For centuries artists created their own tools. They ground their own pigments, made brushes from pig hairs and prepared their canvases with home-made glue. Not only did this craft not distract them from their art, but actually strengthened their relationship with their materials and process. The software revolution of the past decades has weakened this intimate relationship. As a result artists often have no idea how to replicate a tool they are using on a daily basis. As Golan Levin states:

“The territory has largely shifted from paint to code: so that is where we must go.”

Free/Open Source software & collaborative learning+

Students are taught early on the history of the Free Software movement and the importance of the free exchange of technology and ideas. From then on all tools used are free (libre) software. They are also asked to post all of their weekly assignments online. The benefits of this are two-fold. First of all, by seeing other people’s work, collaborative learning is encouraged and more importantly, they are empowered, as budding artists and designers, to promote their work online.