COMPGC20 - Computer Music

This database contains 2016-17 versions of the syllabuses. For current versions please see here.

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
Audio and Sampling
Introduction to Tonal Music Theory
Symbolic representations of music (MIDI, MusicXML)
Algorithmic Composition
Music Information Retrieval
Computational Musicology
Ethical Issues and Evaluation of Music Systems

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.