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 free online course extremely useful.
Explore the concepts and skills of creative coding
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.
Each week we’ll 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. You’ll learn how to interact with them to change their behaviour, creating increasingly complex and nuanced visual and sonic artworks using generative programming techniques.
Learn with professional artists and designers
We will also look at how 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.
(Image © 2010 Jon McCormack)
- Generative art and artists
- Creativity and computers
- Basics of programming
- Digital patterns and interaction
- Algorithmic thinking and creativity
- Colour, image, sound and randomness
- Randomness and variation in art, culture and code
- Text and typography
- Evolution and ecosystems
What will you achieve?
By the end of the course, you‘ll be able to...
- Produce a simple graphic using the Processing programming environment.
- Apply programming concepts of arrays and lists.
- Perform different branches of code based on conditions.
- Synthesise images and sounds into programming work.
- Apply code statements to loop and repeat sections of programming code.
- Investigate the basics of object-oriented programming and coding with objects.
- Explore an artistic approach to translating physical motion into an algorithm and implementing the algorithm as a program.
- Reflect on the history and significance of typography and letterforms to human culture.
- Describe and explore some of the basic ideas behind processes used in generative art, such as feedback, aesthetic selection, evolution and algorithms.
- Describe ideas and thoughts on some broader cultural issues concerning artificial life and what it means to be creative for people and machines.
Who is the course for?
No prior knowledge of programming is necessary, but having an interest or background in any creative area would be beneficial. It is 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, so you will need access to a computer that you can download and install this software on.
Who developed the course?
Get a taste of this course
Find out what this course is like by previewing some of the course steps before you join:
Do you know someone who’d love this course? Tell them about it...
You can use the hashtag #FLCreativeCoding to talk about this course on social media.