This is an archived handbook for a previous year. The current undergraduate and postgraduate handbooks can be viewed using the links above.
Undergraduate Handbook 2025-2026 (archived)
Module COMP4231: Data Compression and Coding Theory
Department: Computer Science
COMP4231: Data Compression and Coding Theory
| Type | Level | Credits | Availability | Module Cap | Location |
|---|---|---|---|---|---|
| Open | 4 | 20 | Available in 2025/2026 | None. | Durham |
Pre-requisites
- COMP3731 Cryptography
Corequisites
- None
Excluded Combinations
- None
Aims
- To understand:
- the main techniques for error correction
- the key results of information theory and their relevance to cryptography and data compression
- the main techniques for lossless and lossy date compression
- the efficiency criteria for data compression.
Content
- Linear error correcting codes, including Hamming codes
- Bounds on codes
- Cyclic codes, including Reed-Solomon codes and their decoding
- Code-based cryptography
- Channel capacity and rate-distortion theory
- Information-theoretic security
- Huffman coding
- Arithmetic coding
- Lempel-Ziv and application to ZIP or PNG
- Context-based compression o Transform domain compression with application to JPEG
- Wavelet-based compression with application to JPEG2000
- Video and Audio compression
Learning Outcomes
Subject-specific Knowledge
- On completion of the module, students will be able to demonstrate:
- an understanding of the key features of error-correcting codes
- an understanding of public-key cryptosystems based on error-correcting codes
- an understanding of the how information theory describes the limits of data compression and cryptography
- an understanding of the key features of popular lossy and lossless compression techniques
- an understanding of the performance criteria for lossless and lossy compression
Subject-specific Skills
- On completion of the module, students will be able to demonstrate:
- an ability to assess the performance of error-correcting codes an ability to assess the effectiveness and security of code-based cryptosystems
- an ability to use information-theoretic tools to bound the performance of digital communication systems
- an ability to assess and design compression techniques for diverse kinds of data
- an ability to implement the key tools used in data compression.
Key Skills
- On completion of the module, students will be able to demonstrate:
- an ability to use algebraic techniques to solve communication problems
- an ability to apply information theory to related domains
- an ability to identify and assess the quality of heuristics for different algorithms
Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module
- Lectures enable the students to learn new material.
- The examination assesses the knowledge and understanding of the material covered in the lectures.
- The report element of the coursework consists of a written assignment supported by code.
Teaching Methods and Learning Hours
| Activity | Number | Frequency | Duration | Total Hours | Attendance Monitored |
|---|---|---|---|---|---|
| Lectures | 42 | 2 per week | 1 hour | 42 | |
| Preparation and Reading | 158 | ||||
| Total | 200 | ||||
Summative Assessment
| Component | Component Weighting | Element | Length/Duration | Element Weighting | Resit Opportunity |
|---|---|---|---|---|---|
| Coursework | 50% | Report | 100% | ||
| Examination | 50% | Online Examination | 2 hours within 3 hour timed window | 100% |
Formative Assessment
Example formative exercises are given during the course.
Students who do not attend monitored activities shown under Teaching Methods
and Learning Hours, or who fail to complete the summative or formative
assessment(s) specified above, may be subject to the Academic Progress
procedures defined in the University's General Regulation V, and may be
required to leave the University.