COMPGC20 - Computer Music

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

PrerequisitesThe course has no formal prerequisites but involves programming in graphical and textual languages, and engagement with musical concepts. No prior knowledge of programming is assumed and the languages used are taught from first principles, however, those with no or very little  computing experience of any kind may find the learning curve quite steep! Thus some basic knowledge of programming in any language will be  helpful.  On the musical side, it will help if you have some basic knowledge of music but again, this can be learned from books and will be  briefly taught on the course if needed.  Reviewing this page <> may give some idea of the knowledge required.  Prospective students are encouraged to contact the lecturer <> to discuss their suitability.
Taught ByNicolas Gold (100%)
AimsTo provide students with a grounding in the state of the art in computer music theory, technology and applications.
Learning Outcomes

Students successfully completing this module should be able to: 

  • demonstrate knowledge of key issues in contemporary computer music.
  • demonstrate a knowledge of ethical issues related to music intellectual property.
  • analyse problems in computer music analysis, representation, and creation.
  • synthesise solutions to such problems on the basis of contemporary tools and theories.
  • evaluate such solutions using appropriate methods
  • manage their own learning in terms of acquiring disciplinary knowledge from academic literature
  • evaluate their own solutions
  • work autonomously
  • solve complex problems
  • develop and apply software development skills in the production of software for creative tasks in the music domain.


The course will cover three key aspects of computer music: representation, creativity and analysis addressed through theory and practice. It will cover sound, music as organised sound, and specific applications (e.g. music information retrieval and musicology). Students will be strongly encouraged to explore both scientific and artistic aspects of the course through programming exercises to generate sound and music in contemporary visual or textual music and arts programming languages (e.g. Python and Pure Data). 

Indicative topics
Ethical Issues and Evaluation of Music Systems
Audio and Sampling
Introduction to Tonal Music Theory
Symbolic representations of music (MIDI, Kem, MusicXML)
Algorithmic Composition
Music Information Retrieval
Computational Musicology

Method of Instruction:

Lectures, laboratories, and demonstrations of techniques. Students will be given weekly  exercises to explore and practice techniques. Reading and listening recommendations will also be provided via Moodle.


The course has the following assessment components:

  • Unseen written examination (2 hours, 90%);
  • Algorithmic composition (audio file, program notes, source code) (10%).

To pass this module, students must:

  • Obtain an overall pass mark of 50% for all components combined.



General Topics
The Computer Music Tutorial, Curtis Roads, MIT Press, 1996. ISBN 0262680823.
Introduction to Computer Music, Nick Collins, Wiley, 2009, ISBN 978-0-470-71455-3.
Musimathics, vol. 1, Gareth Loy, MIT Press, 2006, ISBN 0262122820.
Musimathics, vol. 2, Gareth Loy, MIT Press, 2007, ISBN 0262122855.
Artistic and Historical Aspects
The Cambridge Companion to Electronic Music, Nick Collins & Julio d’Escrivan, Cambridge University Press, ISBN 9780521688659.

Computer Composition
Virtual Music, David Cope, MIT Press, 2001, ISBN 026203283X.
Computer Models of Musical Creativity, David Cope