An image generated by Vismantic SW, as a visual metaphor for "electricity is ecological" (program by Xiao, Linkola)

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 processes.

The course is an introduction to central concepts and models of computational creativity, in particular machine creativity: different types of creativity, formal models of creativity, architectural issues of computational creativity, and evaluation and analysis of computational creativity. Some practical example methods for computational creativity are also covered, in creative fields such as poetry, music and images.

Enrol
Moodle
Log in to view the registration key for Moodle.

Interaction

Timetable

The course will meet three times each week: Mon, Wed and Fri at 2-4 pm. As a rule, each week is structured as follows:
- Monday: a lecture on the topic of the week, discussions
- Wednesday: possibly a second lecture, discussions, ex tempore exercises, group work
- Friday: workshop for working on individual exercises
In the last weeks of the course, more time will be allocated for work on a mini project and a take-home exam.

DateTimeLocation
Mon 30.10.2017
14:15 - 16:00
Wed 1.11.2017
14:15 - 16:00
Fri 3.11.2017
14:15 - 16:00
Mon 6.11.2017
14:15 - 16:00
Wed 8.11.2017
14:15 - 16:00
Fri 10.11.2017
14:15 - 16:00
Mon 13.11.2017
14:15 - 16:00
Wed 15.11.2017
14:15 - 16:00
Fri 17.11.2017
14:15 - 16:00
Mon 20.11.2017
14:15 - 16:00
Wed 22.11.2017
14:15 - 16:00
Fri 24.11.2017
14:15 - 16:00
Mon 27.11.2017
14:15 - 16:00
Wed 29.11.2017
14:15 - 16:00
Fri 1.12.2017
14:15 - 16:00
Mon 4.12.2017
14:15 - 16:00
Fri 8.12.2017
14:15 - 16:00
Mon 11.12.2017
14:15 - 16:00
Wed 13.12.2017
14:15 - 16:00
Fri 15.12.2017
14:15 - 16:00

Material

The course material consists of original papers and lecture slides. The (provisional) list of included literature is given below, followed by links to the papers. NB: some of the papers are not publicly available, but can be accessed from the university network (or over VPN).

Introduction:
- Dan Ventura. How to build a CC system. Proceedings of the Eighth International Conference on Computational Creativity (ICCC), Atlanta, GA, USA, June 2017.
(- Additional reading: Dan Ventura. Mere generation: Essential barometer or dated concept? Proceedings of the Seventh International Conference on Computational Creativity (ICCC), 17-24, Paris, France, June 2016.)

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.

Figurative language:
- Galvan et al.: Exploring the Role of Word Associations in the Construction of Rhetorical Figures The Seventh International Conference on Computational Creativity (ICCC), 222-229. Paris, France, June 2016.
- (Additional reading: 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, 278-287, Portland, Oregon, USA, June 2011.)

Metacreativity and self-awareness:
- Simo Linkola, Anna Kantosalo, Tomi Männistö and Hannu Toivonen: Aspects of Self-awareness: An Anatomy of Metacreative Systems. The Eighth International Conference on Computational Creativity (ICCC), 189-196. Atlanta, GA, June 2017.

Creative autonomy:
(- Additional reading: K.E. Jennings: Developing creativity: Artificial barriers in artificial intelligence. Minds and Machines 20(4): 489-501, 2011 (the first four pages).)

Evaluation of creative processes:
- Anna Jourdanous: Four PPPPerspectives on computational creativity in theory and in practice. Connection Science 28: 194-216, 2016.
(- Additional reading: Alison Pease and Simon Colton: Computational creativity theory: Inspirations behind the FACE and the IDEA models. 2nd International Conference on Computational Creativity (ICCC), 72-77, México City, 2011.)

Social Creativity:
- Saunders, R and Gero, JS: 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, pp. 113-139, 2001.

Tasks

Mon 30 Oct (week1, introduction)

Read "How to build a CC system" by Ventura.
Deadline: Wed, 1 Oct, 2 pm (i.e. for the next course meeting).

Read "Four PPPPerspectives on computational creativity", Sections 1-2, by Jordanous.
Work out the exercises (to be) given in Github (Exercise instructions link).
Deadline: as indicated in the instructions.

Mon 6 Nov (week 2, linguistic creativity)

Read "Exploring the Role of Word Associations in the Construction of Rhetorical Figures" by Galvan et al.
Work out the exercises (to be) given in Github (Exercise instructions link).
Deadline: at the end of the week, as indicated in the instructions.

Mon 13 Nov (week 3, metacreativity)

Read "A preliminary framework for description, analysis and comparison of creative systems" by Wiggins.
Read "Aspects of Self-awareness: An Anatomy of Metacreative Systems" by Linkola et al.
Work out the exercises (to be) given in Github (Exercise instructions link).
Deadline: at the end of the week, as indicated in the instructions.

Mon 20 Nov (week 4, social creativity)

Read "Artificial creativity: A synthetic approach to the study of creative behaviour" by Saunders and Gero
Work out the exercises (to be) given in Github (Exercise instructions link).
Deadline: at the end of the week, as indicated in the instructions.

Mon 27 Nov (week 5, evaluation)

Provisional:
Read "Four PPPPerspectives on computational creativity" by Jordanous (now the full paper).
NB: No exercises. Work on the mini project and use the material from the paper in your project.

Mini project

Design and implement a small creative system as instructed in Github (Exercise instructions link).
Deadline: 13 Dec. For intermediate deadlines and tasks, see Github.

Take-home exam

Answer the take-home exam on your own time, as instructed in Moodle/Github (Exercise instructions link).
Deadline: 22 Dec.

Conduct of the course

The course contains both conceptual material (e.g. what does "creativity" mean) as well as concrete coding of creative software (e.g. implement a poetry generator using Markov chains). Taking the course requires participation in the teaching slots on Mon and Wed as well as independent work on given assignments (for which support will be provided on Fridays).
The Mon and Wed slots focus the conceptual material, based on research literature discussing computational creativity from different perspectives. Working methods on Mon and Wed will include lectures, discussions, group work, etc.
The Fri slot is a lab/workshop session for working on given (programming) assignments and getting support for them. Participation in the lab slots is recommended -- it can be more fun to study and work together than individually, and getting feedback from peers and tutors is useful for learning -- but not mandatory.

Description

Master's Programme in Data Science is responsible for the course.

The course belongs to the Advanced studies / Computers and cognition module.

The course is also available in Basic studies in Data Science.

The course is available to students from other degree programmes.

Students are required to possess good programming skills and to have elementary knowledge of machine learning and probability calculus. Introduction to Data Science (or Introduction to Machine Learning) is strongly recommended before this course.

Introduction to Artificial Intelligence and Introduction to Machine Learning complement the overview of modern intelligent systems.

After completing the course, the student is able to

  • explain the difference between mere generation and creativity
  • analyse a given generative system conceptually using various models of computational creativity
  • design and implement systems that create novel artifacts using generic methods
  • understand the limitations and strengths of the methods, argue for decisions taken
  • evaluate creative systems

Recommended time/stage of studies for completion: first or second year

Term/teaching period when the course will be offered: Autumn, second period

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.

The course is an introduction to central concepts and models of computational creativity, in particular machine creativity: different types of creativity, formal models of creativity, architectural issues of computational creativity, and evaluation and analysis of computational creativity. Some practical example methods for computational creativity are also covered, in creative fields such as poetry, music and images.

The course literature consists of selected original papers in computational creativity. The list of material is provided with each instance of the course.

The course uses teaching methods based on active learning. During the course, students apply and develop their skills by applying them on given tasks and reporting on their results and learning. The course requires independent work on given individual and group assignments and participation in selected teaching sessions used for exercises and group work. Depending on the need, a supervised workshop/lab session can be organised for working on the tasks; participation is then recommended (but not mandatory) since it can be more fun to study and work together than individually, and getting feedback from peers and tutors is useful for learning.

The assessment is based on three components: number of exercises completed, quality of course project work, and a course exam (which can be a take-home exam). At least 50% of available points must be obtained for each component.

The grading scale is 1-5.

The course contains lectures, homework/exercises, a small course project and an exam. Some of the work is carried out in groups. To pass the course, a student has to do at least 50% of the homework, complete the course project, be active in the group work and obtain at least 50% of points available from the exam.

Separate exams will also be offered, based purely on written material and not requiring attendance in the course.