Coded Theory for Storage and Networks

Module Number: EI71087

Duration: 1 Semester

Occurence: Summer Semester

Language: English

Number of ECTS: 5


Professor in charge: Antonia Wachter-Zeh

Amount of work

Contact hours: 60

Self-study hours: 90

Total: 150

Description of achievement and assessment methods:

The students can hand in a report about two labs. When this report is evaluated as passed, these students get a 0.3 grade reduction on the final exam. Writing this report requires on the one hand to apply the content of the lecture inthe lab by using MATLAB and on the other hand to document two of these labs in an understandable manner.In a final written exam about the content of the lecture, the students should demonstrate their understanding of theconsidered coding schemes and the respective applications.They have to show, without supporting material, that they can evaluate and design coding schemes for theconsidered applications (network coding, distributed data storage, flash memories).


-Mathematical basics (in particular linear algebra)

- For the lab: knowledge of MATLAB or another programming language is recommended.

- The lecture "Channel Coding" is recommended, but not necessary


- Decoding of Reed-Solomon codes beyond half the minimum distance: list decoding, power decoding.

- Interleaved Reed-Solomon codes and algorithms to correct burst errors.

- Network coding: Rank-metric codes, subspace codes, application to error-correction in networks.

- Coding for flash memories: write-once-memory codes, coding for stuck memory cells.

- Coding for distributed data storage: locally repairable codes, regenerating codes.

- Coding for correcting insertions and deletions.

Study goals

At the end of the course, the students are able to

- name current areas of applications of coding theory,

- for those applications which were discussed in the lecture: to choose a suitable coding scheme, adapt its parameters, evaluate it, and implement it in software

- for a known given coding scheme and a given application: to evaluate its error

-correcting capabilities and limits, alsoin comparison to classical error

-correcting codes,

- to understand coding schemes which were not discussed in the lecture after appropriate literature research.

Teaching and learning methods

Lecture: The fundamental theoretical contents are presented in the lecture (by a slide presentation and on the blackboard) and illustrated with examples. Students are encouraged to ask questions and discuss the topics of the lecture.

Lab: In an accompanying lab, the content of the lecture is implemented in MATLAB. Therefore, lab descriptions arehanded out which are first presented by lab assistants. Afterwards the students will implement the lab tasks in teamsof two students independently, with monitoring of the lab assistants. After finishing a lab task, there will be adiscussion of each team with a supervisor.

Media formats

The lecture is given with slides; examples and additional explanations are done on the black board.The lab tasks are implemented on computers.


If necessary, current research papers to each of the topics are uploaded or handed out.