Use computer programming as a creative discipline to generate sounds, images, animations and more, with this free online course.

56,137 enrolled on this course

Computer-generated art - creative computer programming
  • Duration

    6 weeks
  • Weekly study

    6 hours

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)

What topics will you cover?

  • 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

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

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 will you learn with?

Jon McCormack is a researcher in computing and an internationally acclaimed electronic media artist. He is currently a research fellow in the Faculty of Information Technology at Monash University.

Mark Guglielmetti is a researcher, academic and media artist. He currently lectures in Digital Art and Communication Design at Monash Art Design & Architecture (MADA) at Monash University.

Who developed the course?

Monash University

Monash University is one of Australia’s leading universities, ranked in the world’s top 1% by the Times Higher Education World University Rankings. It was established in Melbourne in 1958.

  • Established

    1958
  • Location

    Melbourne, Australia
  • World ranking

    Top 60Source: QS World University Rankings 2021

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

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.