Single-Course Danish 5 ECTS

Coding in communication systems

Overall Course Objectives

To provide an introduction to coding in communication systems and cyber technology:
– Error-correcting coding for communication channels
– Coding of information sources for data compression
– Encryption of information to safeguard the content.

Learning Objectives

  • explain linear block codes and their most important properties
  • explain and use encoders and decoders for common block codes as Hamming, BCH, and RS
  • explain convolutional codes and their most important properties
  • describe and apply the Viterbi decoding algorithm for convolutional codes
  • simulate coding systems
  • recognize the entropy concept
  • perform Huffman coding of simple information sources
  • explain the application of prediction in source coding
  • explain the most important elements of coding of images and video (JPEG, MPEG) and be able to apply and parameterize such coders
  • know classical methods of cryptography

Course Content

Modern communication and cyber systems use one or more instances of coding and the goal of this course is to provide an introduction to such coding systems. The present course has an application perspective supported by practical exercises and projects which may be solved and executed in Python or MATLAB. The theories for coding systems are quite deep and these issues are treated in several other DTU courses. The course contains the following subjects:
• Channel coding (error-correction)
– Linear block codes: Principles. Hamming, RS, and BCH from a user perspective
– Convolutional codes: Encoding and decoding (Viterbi)
• Source coding (data compression)
– The entropy concept
– Huffman-coding
– Use of linear prediction of signals
– Video and image coding
• Cryptography (safeguarding and protection of information)
– Classical block cryptography
– McEliece’s crypto-system
The lectures use detailed slides The exercises usually require programming in Python (or if you prefer MATLAB). At the end of the course, a small project on a subject chosen by the student is to be carried out and a report should be handed in.

Recommended prerequisites


Teaching Method

Lectures, exercises and project work



The course is introductory and many advanced courses are offered in these subjects.
It is assumed that the students bring a laptop computer and have access to programming in Python, MATLAB, or C/C++.

Limited number of seats

Maximum: 40.

Please be aware that this course has a limited number of seats available. If there are too many applicants, a pool will be created for the remainder of the qualified applicants, and they will be selected at random. You will be informed 8 days before the start of the course, whether you have been allocated a spot.

See course in the course database.





3 weeks




DTU Lyngby Campus

Course code 34220
Course type Bachelor
Semester start Week 23
Semester end Week 26
Days Mon-fri 8:00-17:00

7.500,00 DKK

Please note that this course has participants limitation. Read more