Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2022-2023 (archived)

Module COMP3491: CODES AND CRYPTOGRAPHY

Department: Computer Science

COMP3491: CODES AND CRYPTOGRAPHY

Type Open Level 3 Credits 20 Availability Available in 2022/23 Module Cap None. Location Durham

Prerequisites

  • COMP2181 Theory of Computation AND (COMP2271 Data Science OR COMP2231 Software Methodologies)

Corequisites

  • None

Excluded Combination of Modules

  • MATH3401 Cryptography and Codes III

Aims

  • To give an introduction to the fundamental steps of a digital communication system: compression/decompression, encryption/decryption, error control coding/decoding
  • To give an introduction to the theoretical limitations of those steps via information theory understand the information theoretic limitations of the three domains above

Content

  • Data compression: lossless compression such as Huffman and Lempel-Ziv, lossy compression such as transform coding and wavelet compression
  • Cryptography: block ciphers, hash functions, public key cryptography, signature schemes, lattice-based cryptography
  • Error-correcting codes: linear codes including Hamming codes, BCH and Reed-Solomon codes, code-based cryptography
  • Information Theory: Entropy, channel capacity, data compression, information-theoretic cryptography

Learning Outcomes

Subject-specific Knowledge:
  • On completion of the module, students will be able to demonstrate:
  • an understanding of the theory and practice of data compression, cryptography, and error-correcting codes
  • an understanding of the main results of information theory
Subject-specific Skills:
  • On completion of the module, students will be able to demonstrate:
  • an ability to assess the suitability of different parts of a digital communication system
  • an ability to design data compression, cryptographic and error control systems
  • an ability to theoretically analyse the performance and limitations of these systems.
Key Skills:
  • On completion of the module, students will be able to demonstrate:
  • an ability to assess a given system
  • an ability to develop theoretical reasoning

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 relevant to codes and cryptography.
  • Summative assessments enable the students to put into practice learning from lectures and strengthen their understanding through application.
  • Examinations assess an understanding of core concepts and the application of methods and techniques.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours
Lectures 44 2 per week 1 hour 44
Preparation and reading 156
total 200

Summative Assessment

Component: Examination Component Weighting: 50%
Element Length / duration Element Weighting Resit Opportunity
Examination 2 hours 100% No
Component: Coursework Component Weighting: 50%
Element Length / duration Element Weighting Resit Opportunity
Summative Assignment 100% No

Formative Assessment:

Example formative exercises are given during the course. Additional revision lectures may be arranged in the module's lecture slots in the 3rd term.


Attendance at all activities marked with this symbol will be monitored. Students who fail to attend these activities, or to complete the summative or formative assessment specified above, will be subject to the procedures defined in the University's General Regulation V, and may be required to leave the University