Skip to contentSkip to site navigation
Computer Science
2019 Project Proposal

A Domain-Specific Language for Generative Art

Tom Ellman (Computer Science)

"Generative Art" refers a process in which an artist writes a computer program to generate a work of art such as a picture or piece of music. Such programs can be difficult to write -- mainly due to the mismatch between two levels of abstraction: (1) the artist's visual or musical ideas; and (2) The algorithms and data structures that can realize his/her ideas. In this project we will design and implement a domain-specific language (DSL) for generative art. Our language will allow the artist to express his/her ideas in terms of the entities and relationships that will appear in the completed art work. An interpreter / compiler will use techniques from constraint-satisfaction and mathematical programming to generate art works specified in our language.

Computer Science 203 (Required), Computer Science 245 (Preferred), Background in Studio Art or Music Composition (Nice, but not necessary) 

How should students express interest in this project?
Interested students should do two things:

  1. Send me an email ( with a short statement (2-3 paragraphs) saying why they are interested in this project and what skills and experience (academic and non-academic) they can bring to the project.
  2. Schedule a time to meet with me to discuss the student's interest in the project.