Introduction to Computational Creativity

Algorithms and machine learning
Advanced studies
An introduction to central concepts and models of computational creativity, to some computational creativity methods in fields such as poetry, music and images. Material will be provided in the course (original articles and slides; no text book).
Year Semester Date Period Language In charge
2015 autumn 31.08-15.10. 1-1 English Hannu Toivonen


Time Room Lecturer Date
Mon 10-12 B222 Hannu Toivonen 31.08.2015-15.10.2015
Thu 10-12 B222 Hannu Toivonen 31.08.2015-15.10.2015

Exercise groups

Group: 1
Time Room Instructor Date Observe
Mon 12-14 B222 Simo Linkola 07.09.2015—16.10.2015

Information for international students

The course will be given in English.


Computational creativity is the study of creative behavior by computational means. This includes machine creativity, i.e., creative computers, as well support of human creativity by computational means, and study of computational creative process.

This course will introduce students to some central aspects of computational creativity, in particular machine creativity. The course will cover (1) theory and concepts of computational creativity, (2) some specific application domains (language, images, music), and (3) generic computational techniques for implementing components of creative systems (Markov chains, genetic algorithms). An outline of the course schedule and contents is available below. Some reorganization may still take place during the course.

The course requires independent work on given assignments and participation in the lecture slots (used also for exercises, group work, etc) on Mon and Thu 10-12. The exercise session slot (Mon 12-14) functions as a lab/workshop for working on the assignments and getting support for them (assignments will be due by Wed night). Participation in the exercise slots is recommended -- it can be more fun to study and work together than individually, getting feedback from peers and tutors is usefulfor learning -- but not mandatory.  Read "Completing the course" below for more information on how the course works.

The course has an IRC-channel: #itcc2015. For using IRC with irssi, see Finnish instructions or English instructions. The channel is open for any discussion related to the course.

Exceptions for the first week

  • No lectures on Mon 31 Aug. The first lecture will be on Thu 3 Sep.
  • First exercise assignment will be published by Mon 31 Aug. They are due by Mon 7 Sep.
  • On Mon 7 Sep, part of the lecture slot will be used to handle the first assignments; the exercise slot is used as a lab for working on assignment 2.

Course project and take-home exam

Final project and take-home exam, due Fri 16 Oct at 16:00
(Some additional instructions for the project)

Weekly assignments

1. Exercises, due by Mon 7 Sep 10.00 am

2. Exercises, due by Wed 9 Sep 11.59 pm

3. Exercises, due by Wed 16 Sep 11.59 pm

4. Exercises, due by Wed 23 Sep 11.59 pm

5. Exercises, due by Wed 30 Sep 11.59 pm

6. Exercises, due by Wed 7 Oct 11.59 pm

Draft schedule

Possible studies to continue on the topic:

  • A project on computational creativity (can be organized in period II if there is sufficient demand; contact Simo by Oct 8 if you are interested)
  • A seminar on Computational Creativity (periods II-III; contact Hannu as soon as possible)

Completing the course

The course adopts some teaching and learning methods from the so-called "flipped classroom".

  • Students start studying a topic by working on given assignments.
  • Labs/workshops are organized, instead of traditional exercise sessions, to support working on and learning from the assignments.
  • "Lectures" are used to help learning those points that turn out to be difficult or interesting. Lectures are also used for material that may be difficult to study on your own.
  • Learning is documented in a personal learning journal/diary.

In a nutshell, the course is taken by (1) active participation in the "lectures", (2) completing the given assignments (include programming + theory), (3) keeping a learning journal (essentially based on the assignments), and (4) an exam.

Literature and material

Literature: original papers as indicated on this web page and in assignments (collected below). No course book. Slides will also be provided, but they will not cover all contents. Additional material for specific techniques, in particular Markov chains and genetic algorithms and programming, needs to be looked up and studied independently to the extent needed to carry out the assignments. Separate exams will cover the contents of the course, i.e., all material and assignments linked to from this page (incl. Markov chains and genetic algorithms and programming to the extent needed for the assignments), except "Additional reading" below.

IRC-channel #itcc2015 can be used to discuss the course, and to ask and give advice.

Required reading:

  • Philosophy: Marvin Minsky: Why people think computers can't. The AI Magazine 3(4) 3-15, 1982. (pdf)
  • Creative autonomy: K.E. Jennings: Developing creativity: Artificial barriers in artificial intelligence. Minds and Machines 20(4): 489-501, 2011. (pdf) (at least first four pages)
  • Figurative language: Tony Veale. Creative Language Retrieval: A Robust Hybrid of Information Retrieval and Linguistic Creativity. In Proceedings of the ACL’2011, the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies, Portland, Oregon, USA, June 19-24, 2011. (pdf)
  • Creativity as search: Geraint A. Wiggins: A preliminary framework for description, analysis and comparison of creative systems. Knowledge-Based Systems 19 (7): 449–458, 2006. (pdf)
  • Evaluation of creative processes, the FACE model: Alison Pease and Simon Colton: Computational creativity theory: Inspirations behind the FACE and the IDEA models. 2nd International Conference on Computational Creativity (ICCC), pp. 72-77, México City, 2011. (pdf)
  • Evaluation of creative products: Graeme Ritchie. Some Empirical Criteria for Attributing Creativity to a Computer Program. Minds and Machines, 17(1):76-99, Springer, 2007. (pdf)
  • Overview of the field: Colton, Simon, and Geraint A. Wiggins. 2012 "Computational creativity: The final frontier?" Proceedings of 20th European Conference on Artificial Intelligence (ECAI), pages 21-26, Montpellier, France, 2012. (pdf)

Additional reading related to the topics of the course:

  • Poetry generation: H. Manurung, G. Ritchie, H. Thompson: Towards a computational model of poetry generation. Proceedings of AISV Symposium on Creative and Cultural Aspects and Applications of AI and Cognitive Science, 79-86, 2000. (pdf)
  • Generation of metaphors: T. Veale, Y. Hao: Comprehending and generating apt metaphors: a web-driven, case-based approach to figurative language. Proceedings of The 22nd AAAI Conference on Artificial Intelligence, 1471-1476, 2007. (pdf)
  • Uses of machine learning for computational creativity: H. Toivonen and O. Gross: Data Mining and Machine Learning in Computational Creativity. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery. Accepted (published online: Oct 02 2015). (pdf)
  • Creative autonomy, social creativity: R. Saunders and J.S. Gero. Artificial creativity: A synthetic approach to the study of creative behaviour. In JS Gero and ML Maher (eds), Computational and Cognitive Models of Creative Design V, Key Centre of Design Computing and Cognition, University of Sydney, Sydney, 113-139, 2001.
  • Reception of computational creativity: M. Mumford and D. Ventura. The man behind the curtain: Overcoming skepticism about creative computing. In Proceedings of the Sixth International Conference on Computational Creativity (ICCC), pages 1-7, Park City, UT, USA, 2015. (pdf)