This course introduces the students to the challenges and approaches of the state of the art implementations of network coding. The course is taught not just through lectures, but also with hands-on exercises using the KODO software library. KODO is available as a C++ and Python library, and also as a web tool. Therefore, students with different programming preferences will be able to approach it.
The initial lectures refresh the knowledge of the students of the theoretical background of network coding, e.g., the min-cut max-flow of a network, inter-flow network coding, and intra-flow Random Linear Network Coding (RLNC). The student is then introduced to the state of the art software library KODO and the advanced implementations of network coding such as systematic, sparse, tunable sparse, sliding window, etc. The course also covers the benefits of network coding in distributed storage applications. By the end of the course, the student will be introduced to advanced applications of network coding, e.g., Coded TCP, MORE, FULCRUM.
The exercises will teach the students how to use sockets in python as well as the python bindings of the KODO software library for implementing unicast and broadcast communication applications. They will also provide the students with a intuitive understanding of the principles behind network coding.
Language of the course: English
Number of ECTS: 5
Module Number: EI7601
EXAM INFORMATION UPDATED!!!
75 minutes written exam on the 13th of July of 2018
Time: 09:45 – 11:00
Possibility of re-taking: Ask the TUM administration.
Lectures: Fridays 09:45 – 11:15 – break – 11:45 – 13:15
Inter-flow Network Coding
Intra-flow Network Coding (updated 11.Jun.18)
A video of different encoders-decoders pairs can be found here.
Exercise 1 will be written. Therefore, it is only required that you bring pen and paper.
The solutions to the exercises are here:
Asymmetric Alice and Bob
In this exercise session, we will work with Kodo. You require a valid Kodo license in order to use the library. Please request a license by filling out the license request form. Kodo is available under a research and education-friendly license, you can see the details here.
Once you obtain a valid license, please go to the Kodo Python repository here and follow the instructions to build it on your PC.
The lecturers can give you better support if you are building and running Kodo in a GNU/Linux system. Therefore, if you only have Windows installed, please install a GNU/Linux virtual machine first. You could use Virtualbox to install Ubuntu.
We will understand better the finite field operations involved in network coding by using this exercise: finite fields exercises