The Computational Creativity Curriculum

A project supported by the CreativeIT program of the National Science Foundation.

Principal Investigators:

This project explores the utility of "computational creativity" as an organizing theme for interdisciplinary curricula in computer science, media arts, and cognitive science. A computational creativity system is a computational system that simulates the cognitive processes involved in human creativity, or that implements an algorithm that meets the criteria for creativity even if it is not cognitively based. Many computational models of creativity have been described in the literature, and simple versions of many of these models have been implemented in software. One of the co-PIs of this proposal has used the development of such models as an organizing theme for the instruction of introductory computer science for 15 years; the present proposal expands the application of this theme to broader, interdisciplinary curricula in computer science, media arts, and cognitive science. The goal is to develop, in joint work among computer science and media arts faculty and undergraduate students, computational creativity systems that are useful in real artistic practice. These systems will be extended and used in computer science, media arts, and interdisciplinary courses. The curriculum integrates research and teaching while drawing new populations of potentially creative and diverse students into the study of computer science.

Highlight: Igor: An Open-Ended Creative Variation-Generation System

Control flow of the IGOR system
Control flow of the Igor creative variation-generation system prototype developed in
the Hampshire College CreativeIT project, “The Computational Creativity Curriculum.”

NSF-funded researchers Lee Spector and Chris Perry, working at Hampshire College with undergraduate students Adam Sax and Brian Cipriano, have developed a prototype software tool that uses computational intelligence techniques to assist creative artists in the development of professional-grade computer animation. Their system, called Igor, provides artist-users with a selection of computer-generated variations of an artist-generated element such as an image, texture or palette. Igor uses a genetic algorithm to generate these variations, and although human artists are ultimately in control Igor may make contributions to the art-making process that are complex, surprising, and arguably creative.

The Igor prototype was developed to assist users of the "Shake" software for image compositing -- Shake is a commercial tool that is widely used both in animation courses and in industry -- but it was designed to be applicable, with little modification, to other environments including Maya (for 3D modeling), Processing (for algorithmic image generation), and Max/MSP (for sound). It is accessed through a web interface in an ordinary browser, so that users need have no software aside from a browser and their primary art-making tools. It farms computationally intensive out to additional compute nodes as needed; the prototype farms out image processing tasks to Hampshire College's NSF/MRI-funded cluster.

Igor is the first product of an NSF CreativeIT project -- "The Computational Creativity Curriculum" -- the objective of which is to enhance and energize the undergraduate computer science curriculum using methods and projects from the arts. It will simultaneously increase participation in computer science by engaging artists and scientists in a collective enterprise based on computational models of creative processes. Such models, and related "computational creativity" tools, will be developed in interdisciplinary projects and courses and used in professional-quality media arts projects.

Screen Snaps:

Igor settings
Igor group view
Igor fitness selection
Igor detail view