We have been teaching Computational Creativity for several years. This page comprises our resources on Computational Creativity in general and on specific topics, such as lecture notes, slides and references to suggested reading.

A Brief Introduction to Computational Creativity

As a largely computational discipline, Computational Creativity approaches build on Computer Science techniques, and push the requirements envelope for those techniques. In particular, the field of Artificial Intelligence (AI) research has provided many methods which find their way into creative systems, and in turn has been driven on by applications of software to creative activities like musical composition, wordplay, painting and video game design. It’s not easy to pen a witty poem, compose a wondrous sonata or to get a robot to paint an evocative picture. Computational Creativity continues to be a driving force for advanced hardware and software technologies.

Computational models of human thought processes have served the Cognitive Sciences well, and have helped to inspire new models of psychological activity. Likewise, AI systems to perform intelligent tasks autonomously have usually been built with strong reference to our understanding of human behaviour. Only in the last decade have AI systems become sophisticated enough for the cross pollination of human and computer creativity studies to take place, and for software to be used in simulations of creative behaviour. We are just beginning a very promising scientific discourse on the similarities and differences of human and computer creativity, which will surely bring benefits to both sides.

In building software which creates value independently of human control, and by slowly redefining the notion of creative activity, we have raised a number of thought-provoking philosophical issues about humanity, automation and creative progress. In the last five years, we have seen commercially successful board games designed by software, art exhibitions of entirely computer generated works, musical performances where one of the musicians is software, and anthologies of poems produced by computer programs. Similarly, we have seen scientific discoveries made by software in fields ranging from medicine to mathematics to astronomy. Computational Creativity is pushing the boundary of the arts and sciences, questioning the role of software as mere tools, and helping to shape the role of machines in our technological future.

The idea of people paying routinely for computer generated poems, paintings, games, compositions, recipes, jokes, ideas, stories and other culturally valuable pieces is highly disruptive. This disruption is unlikely, however, to be damaging to the creative and artistic industries, as people will always pay for a human connection and the blood, sweat and tears of creative people. In fact, we believe that one of the main lessons we will learn from Computational Creativity research is how very highly people value human creativity in society. But there remains a question of whether new economies can thrive around computer generated content where creativity in the software is a maxim. Computational Creativity researchers are poised to help the creative industries make this scenario a reality.


Computational Creativity

Computational Creativity is the science, engineering and philosophy of how to build software that can take on some of the creative responsibilities in arts and science projects. This course was developed and delivered by Simon Colton at the first Autumn School on Computational Creativity, at the University of Helsinki, in 2011.
Lecture One: Introduction to Computational Creativity
Lectures Two and Three: Building an Automated Painter (Practical and Cultural Issues)
Lecture Four: Building an Automated Mathematician
Lectures Five and Six: Philosophical Issues, Guiding Principals and Formalisations

Ludic Computing

Ludic Computing is the study of the design, construction and evaluation of computer systems for play. Computers support a huge range of playful and creative activities: from video games and interactive art, to tools for creative expression and playful exploration; as artificial players of games, and as creators in their own right. It is a highly interdisciplinary area with links to many other fields, including Graphics, Human-Computer Interaction and Artificial Intelligence.

This course was given at the Department of Computing, Imperial College, London from 2010 to 2012. It was developed and delivered by Simon Colton, Jeremy Gow, and Alison Pease.

Lecture 1: Introduction
Lecture 2: Computational Creativity
Lectures 3 and 4: Evolutionary Design
Lectures 5 and 6: Design Grammars
Lectures 7 and 8: Non-Photorealistic Rendering
Lecture 9: Steering Behaviours
Lecture 10: Pathfinding
Lecture 11: Behaviour Trees
Lecture 12: Adaptive Games
Lecture 13: Interactive Play
Lecture 14: Designing for Play
Lecture 15: Social Networks
Lecture 16: Monte Carlo Tree Search

Tutorial 1: Evolutionary Design
Tutorial 2: Visual Grammars
Tutorial 3: Non-Photorealistic Rendering
Tutorial 4: Steering and Pathfinding
Tutorial 5: Behaviour Trees and Adaptation
Tutorial 6: Understanding Play
Tutorial 7: Social Networks

Artificial Intelligence

Artificial Intelligence is the study of how to engineer software which is able to undertake intelligence tasks and exhibit intelligence behaviors. There were four main parts to the course:

  • Fundamentals – the basic notions of AI, in particular search and knowledge representation, applied to game playing
  • Automated reasoning – how to get a program to deduce new facts and prove things for you
  • Machine learning – how to get a program to induce hypotheses from data and make discoveries for you
  • Evolutionary approaches – how to evolve programs for intelligent tasks by breeding them using crossover and mutation.

This course was developed and delivered by Simon Colton and Jeremy Gow at the Department of Computing of Imperial College, London, between 2002 and 2009.

Lecture 1: Characterisations of Artificial Intelligence[ slides ]
Lecture 2: Artificial Intelligence Agents[ slides ]
Lecture 3: Search in Problem Solving[ slides ]
Lecture 4: Knowledge Representation[ slides ]
Lecture 5: Game Playing[ slides ]
Lecture 6: First-Order Logic[ slides ]
Lecture 7: Making Deductive Inference[ slides ]
Lecture 8: The Resolution Method[ slides ]
Lecture 9: Resolution Theorem Proving[ slides ]
Lecture 10: Machine Learning Overview[ slides ]
Lecture 11: Decision Tree Learning[ slides ]
Lecture 12: Two Layer Artificial Neural Networks[ slides ]
Lecture 13: Multi-Layer Artificial Neural Networks[ slides ]
Lecture 14: Inductive Logic Programming[ slides ]
Lecture 15: Constraint Satisfaction Problems[ slides ]
Lecture 16: Genetic Algorithms[ slides ]
Lecture 17: Genetic Programming[ slides ]

Tutorial 1
Tutorial 2
Tutorial 3
Tutorial 4
Tutorial 5
Tutorial 6
Tutorial 7


Video Talks by Group Members
Video talks by Computational Creativity colleagues

Selected Publications

Selected Overview Papers

Some of our papers which provide the reader with a general overview of computational creativity:

Cook, Michael; Colton, Simon; Gow, Jeremy

The ANGELINA Videogame Design System, Part I Journal Article

In: IEEE Transactions on Computational Intelligence and AI in Games, (99), 2016.

Abstract | Links | BibTeX

Also see the web page of our Computational Creativity Theory research project.

Generating video games

Some of our papers which address this question:

Also see the web pages of Michael Cook and his ANGELINA system.

Generating interesting board games and puzzles

Some of our papers which address this question:

Also see the web pages of Cameron Browne.

Procedural content generation for games

Some of our papers which address this question:

Also see our projects on Evolutionary Approaches to Computational Creativity.

Assessing player experience

Some of our papers which address this question:

Also see the web pages of Jeremy Gow and the pages of the CAD Game project.

Automatic game-playing AI

Some of our papers which address this question:

Also see the web pages of Robin Baumgarten and Cameron Browne, and the MCTS for Games and Beyond pages.