Practical Implementations of Network Coding

Lecturer: Professor Frank Fitzek
Main lecturer:
Professor Frank Fitzek

Assistant: M.Sc. Juan Cabrera
M.Sc. Juan Cabrera

Assistant: Dipl.-Ing. Zuo Xiang
Dipl.-Ing. Zuo Xiang


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.

Language of the course and exam: English

Optional course, 8th semester


It will be a written exam.

Examination schedule for the SS 2019:

Date: Will be announced later
Time: Will be announced later
Room: Will be announced later

Time Schedule

Lectures and exercises:

03.Apr.2019(FF)L1BAR/213/HOrganisation of the course; Motivation for NC and NC use cases (5G, IoT, Wireless Mesh); Butterfly example; min cut max flow. Inter Flow NC. Index Coding. Zick Zack Coding. CATWOMAN.
10.Apr.2019(FF)L2BAR/213/HAlice Relay and Bob scenario under IEEE802.11 networks and asymmetric traffic. Analog Inter Flow NC.
17.Apr.2019E1FAL07/08Analysis of the activity, throughput, power, and energy per bit of a system with the cross topology when using forwarding, network coding, and network coding with overhearing. Analysis of the processes of encoding and decoding in intra-session network coding, and analysis of the overhead due to linear dependencies of RLNC.
24.Apr.2019(FF)L3FAL07/08Intra-flow network coding. Random Linear Network Coding (Basics)
25.Apr.2019(FF)L4FAL07/08Random Linear Network Coding (Continuation)
08.May.2019(FF)L5FAL07/08RLNC advanced 1 (systematic and sparse RLNC)
09.May.2019(FF)L6FAL07/08RLNC advanced 2
15.May.2019(FF)L7FAL07/08Network coding for storage.
22.May.2019E2FAL07/08E1 continuation. Basic UDP transmissions over WIFI with Python. Example of Inter-Session Network coding: XORing packets
23.May.2019E3FAL07/08Introduction to KODO. Lossless Encoding and Decoding
29.May.2019(FF)L8FAL07/08Network coding use cases and applications.
05.Jun.2019(FF)L9FAL07/08Novel research topics in network coding: Joint compressed sensing and network coding; PRAC (Packetized Rateless Algebraic Consistency).
06.Jun.2019(FF)E4FAL07/08Code efficiency. Number of linear dependencies. Where does the linear dependencies occur? Multi-path and Multi-hop with NC
20.jun.2019(FF)E5FAL07/08Finite fields operations
26.Jun.2019E6FAL07/08Full vector vs sliding window coding; Multi-generation coding

Module Number: ET-12 10 21

Recommended Literature




Will be added over the span of the course