Ensimag Rubrique Formation 2022

- 3MMICOD

  • Number of hours

    • Lectures 24.0
    • Projects -
    • Tutorials 18.0
    • Internship -
    • Laboratory works 6.0
    • Written tests -

    ECTS

    ECTS 4.0

Goal(s)

The course is divided into two parts : i/ information theory, ii/ error-correcting codes,
with the following objectives:

Information theory:
providing the basic theoretical concepts for the quantitative measurement of information (what is an information bit?), its representation, storage, transmission and protection.
Application to lossless compression, transmission and content security (steganography).

Coding:
understanding error correction tools and their limitations in relation to information theory. Glimpse the multitude of ways of answering the question ‘what is a good code? Discover some of the most common codes, how they are constructed, the underlying algorithms and how they are implemented in software. Study their application to the reliability of communications and data storage.

Contents

Information theory

Definition of informational quantities: measuring information. Uncertainty and information. Entropies. Shannon's entropy and its properties. Entropy of composite laws. Conditional entropy. Kullback divergence and mutual information.

Information representation
- Asymptotic equipartition, notion of typical sequence.
- Prefixed codes. Kraft inequality.
- Shannon's first theorem (compression limit). Theoretical optimal codes.
- Fano-Shannon and Huffman codes.

Information protection
- Discrete channel without memory.
- Shannon's second theorem (transmission limit).
- All codes are good except those we know how to make: random codes vs. codes of achievable complexity.

Examples that illustrate the concepts and open up the field of applications:
- Joint source-channel coding.
- Distributed source coding. Slépian-Wolf theorem.
- Steganography and watermarking.
- Information leakage and security. Wyner's wiretap channel.
- Links with algorithmic information theory. Kolmogorov and lempel-Ziv.

Code Theory

Error-correcting codes are tools for protecting the integrity of information by adding redundancy. To make decoding feasible in practice, these codes need to be given structure, usually algebraic, while maintaining good performance.
This second part explores this problem from the angles of theory (bounds, capacity) and algorithmics, as well as describing some of the main codes used and their implementation for reliable communications or data storage.

Principles and limitations
- Redundancy for error detection and correction: repetition coding and Shannon's second theorem.
- different objectives: detection, error correction, erasure
- metrics and bounds: Hamming metric, sphere stacking bound, Singleton bound, Gilbert Varshamov bound, perfect codes

Linear codes
- duality
- syndrome decoding
- puncturing and shortening
- Binary Hamming codes: an example of a simple but effective code

Mathematical basis for non-binary codes: finite fields.

Reed-Solomon codes (interpolation point of view)
- key equation
- decoding by Berlekamp-Welch, Euclid, Berlkamp-Massey

Code modifiers and constructors
- punctured codes,
- shortened codes,
- product codes,
- interleaving

How it's used:
- storage distributed by-2,
- QR codes
- CD/DVD: cross-interleaving with delay

Practical work
- implementation of coding/decoding of different codes and implementation on image or sound type information
- stegano + decoding. Channel and source coding.

Language
- C if possible for Semester 6
- otherwise python + sagemath with CodingTheory module

Links with other subjects
Probability and statistics
Thematic link (not a prerequisite) with the introductory crypto course in 2A

Links with specialisations
Useful notions in cryptography, machine learning, etc.

Teaching methods
- 24 h information - 24h coding
- CM + TD + TP

Prerequisites

Prerequisites in terms of knowledge

  • basics in discrete probabilities
  • basic knowledge of linear algebra.

Responsible(s)

Jean-Marc BROSSIER, Clement PERNET

Content(s)

  • Information Theory
    • Definition of information quantities: measuring information. Uncertainty and information. Entropies. Shannon's entropy and its properties. Entropy of composite laws. Conditional entropy. Kullback divergence and mutual information.
    • Representation of information
      - Asymptotic equipartition, notion of typical sequence.
      - Prefixed codes. Kraft inequality.
      - Shannon's first theorem (compression limit). Theoretical optimal codes.
      - Fano-Shannon and Huffman codes.
    • Information protection
      - Discrete channel without memory.
      - Shannon's second theorem (transmission limit).
      - All codes are good except those we know how to make: random codes vs codes of achievable complexity.
    • Examples that illustrate the concepts and open up the field of applications:
      - Joint source-channel coding.
      - Distributed source coding. Slépian-Wolf theorem.
      - Steganography and watermarking.
      - Information leakage and security. Wyner's wiretap channel.
      - Links with algorithmic information theory. Kolmogorov and lempel-Ziv.
  • Code theory

Error-correcting codes are tools for protecting the integrity of information by adding redundancy. To make decoding feasible in practice, these codes must be given structure, usually algebraic, while maintaining good performance.
This second part explores this problem from the angles of theory (bounds, capacity) and algorithmics, as well as describing some of the main codes used and their implementation for reliable communications or data storage.

    • Principles and limitations
      - Redundancy for error detection and correction: repetition coding and Shannon's second theorem.
      - different objectives: detection, error correction, erasure
      - metrics and bounds: Hamming metric, sphere stacking bound, Singleton bound, Gilbert Varshamov bound, perfect codes, etc.
    • Linear codes
      - duality
      - syndrome decoding
      - punching and shortening
      - Binary Hamming codes: an example of a simple but effective code
    • Mathematical basis for non-binary codes: finite fields.
    • Reed-Solomon codes (interpolation point of view)
      - key equation
      - decoding by Berlekamp-Welch, Euclid, Berlkamp-Massey
    • Code modifiers and constructors
      - punched codes,
      - shortened codes,
      - product codes,
      - interleaving
    • Implementation:
      - storage distributed by-2,
      - QR codes
      - CD/DVD: cross-interleaving with delay
    • Practical exercises
      - implementation of coding/decoding of different codes and implementation on image or sound type information.
      - stegano + decoding. Channel and source coding.
  • Language
    - C if possible for Semester 6
    - otherwise python + sagemath with CodingTheory module
  • Links with other subjects
    Probability and statistics
    Thematic link (not a prerequisite) with the introductory crypto course in 2A
  • Links with specialisations
    Useful notions in cryptography, machine learning, etc.
  • Teaching methods
    - 24 h information - 24h coding
    - CM + TD + TP

Prerequisites

Knowledge requirements
- basic discrete probability
- basic knowledge of linear algebra.

Test

Evaluation : Examen Ecrit (2h00)

Resit : Examen Ecrit (2h00)

Calendar

The course exists in the following branches:

  • Curriculum - Core curriculum - Semester 6
see the course schedule for 2025-2026

Additional Information

Course ID : 3MMICOD
Course language(s): FR

You can find this course among all other courses.

Bibliography

C. Shannon, W. Weaver, La théorie mathématique de la communication, Cassini, avril 2018.

O. Rioul. Théorie de l'information et du codage. Hermès, 2007.

T.M. Cover, Joy A. Thomas. Elements of Information Theory. John Wiley & Sons Inc, 2006.

David J.C. MacKay. Information Theory, Inference, and Learning Algorithm. Cambridge Univ. Press, 2003.
http://www.cs.toronto.edu/~mackay/itila/book.html

R.G. Gallager, « Information Theory and reliable communication », Wiley, 1968

Roth, Ron. Introduction to Coding Theory. Cambridge University Press, 2006