This course introduces computer programming as a creative discipline to generate sounds, images, animation and more.
(Image © 2010 Jon McCormack)
Learning to program is no longer just for computer specialists and software developers. People from many different backgrounds now want to understand the basics of programming, because it’s both fun and an increasingly valuable skill. One of the most exciting ways to learn programming is through authoring your own creative programs. Known as “creative coding”, this growing field uses computer software as a medium to develop original creative expression. So if you’re an artist, designer, architect or musician who’s interested in how you can expand your creative skills, or even a computer programmer looking to work in creative applications, you will find this course extremely useful.
Throughout the course we’ll help you develop practical programming concepts and skills by exploring creative ideas and challenges. We’ll be looking at the history and philosophy behind artistic uses of technology, so you can gain a greater understanding of how best to express your own creative vision using the software you write. The aim is to teach you “algorithmic thinking” – ways to conceptualise and model the world so you can express creative ideas using computer programs. A background in programming is not assumed or necessary.
Each week we will start with a simple creative idea and guide you through turning that idea into a working computer program. We’ll be exploring programs that can generate images, animations and sound and you’ll learn how you can interact with them to change their behaviour. As you’ll discover, this opens a world of possibilities, because as you expand and modify your program new creative possibilities emerge. Starting with simple processes we will look at how to create increasingly complex and nuanced visual and sonic artworks using generative programming techniques. Assignments will give you the opportunity to explore your own creative ideas and share your achievements with fellow students.
We will also look at how a number of leading professional artists and designers work creatively with computers, technology and robotics, examining their creative process and the ideas that inspire them.
The course is very different from technical courses on programming. We will place creative programming in context through discussion about some of the most interesting questions raised by computer-generated art, such as:
- Can a computer be independently creative?
- Who is the author of a work of computer art: the programmer or the program?
- How is our understanding of art and creativity changed by technology?
- Does the computer bring anything that is really new to art?
If you’ve ever wondered about these questions or wanted to learn how to program a computer for creative purposes, then this course is for you.
You can use the hashtag #FLCreativeCoding to join and contribute to Twitter conversations about this course.
No prior knowledge of programming is necessary, but having an interest or background in any creative area would be beneficial in getting the most out of this course. It is also assumed that you have basic computer skills (including how to download software applications) and basic knowledge of files, directories, images and movies. The course involves programming using the Processing environment (www.processing.org), so you will need access to a computer that you can download and install this software on.