Module code: TON3016

Module Overview

This module is designed to provide you with the programming skills necessary to implement signal processing algorithms on audio data.

Module provider

Music and Media

Module Leader

COLEMAN Philip (Music & Med)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 6

Module cap (Maximum number of students): N/A

Overall student workload

Workshop Hours: 44

Independent Learning Hours: 106

Module Availability

Year long

Prerequisites / Co-requisites

  • Level 4 Acoustics and Computer Audio Systems A & B
  • Level 4 Electronics and Audio Signal Processing A & B

Module content

Indicative content includes:

  • the C and C++ programming languages;

  • procedural and object-oriented paradigms;

  • programming techniques, including modular construction, reuse and testing;

  • handling audio data and audio files;

  • using existing audio libraries;

  • implementing time-domain DSP algorithms in software.

Assessment pattern

Assessment type Unit of assessment Weighting

Alternative Assessment


Assessment Strategy

The  assessment  strategy  is  designed  to  provide  you  with  the  opportunity  to  demonstrate practical programming skills, especially with respect to processing audio files and data.

Thus, the summative assessment for this module consists of:

  • coursework – three coursework assignments:

  • coursework 1 – command-line based programming task (addresses learning outcomes 1-2, 5-7);

  • coursework 2  – file-based programming task (addresses learning outcomes 1- 3, 5-7);

  • coursework 3 – plugin-based programming task (addresses learning outcomes 1-7).

Formative assessment and feedback

There are no formative assessment components for this module, but formative feedback will be given to you during the workshops and in tutorials.


Written feedback will be given to you on the coursework. Verbal feedback will be given during the workshops.

Module aims

  • Introduce techniques and processes in designing and programming software;
  • Enable you to implement audio signal processing algorithms in C/C++.

Learning outcomes

Attributes Developed
001 Specify a programme design using pseudo-code CT
002 Code, test and debug a software audio processor using C/C++ CT
003 Realise a time-domain DSP algorithm using C/C++ KCPT
004 Create programs using both procedural and object-oriented paradigms KCPT
005 Programming PT
006 Use of the command line PT
007 Problem solving PT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to: develop your programming skills using the C and C++ programming languages, particularly with respect to processing audio files and audio data. These skills are developed via workshops, which are designed to develop: practical skills (e.g. using an IDE and the command line), your knowledge of C and C++, your problem solving skills (in order to debug your programs), your approach to program design and construction, your knowledge of time-domain DSP, and your knowledge of procedural and object-oriented programming paradigms.


The learning and teaching methods include:

  • regular workshops;

  • coursework assignments and feedback.


Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list
Upon accessing the reading list, please search for the module using the module code: TON3016

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2019/0 academic year.