Lecturer: Professor Frank Fitzek Main lecturer: Professor Frank Fitzek

Assistant: M.Sc. Juan Cabrera Co-lecturer: M.Sc. Juan Cabrera

Assistant: Dipl.-Ing. Zuo Xiang Co-lecturer: 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 lectures: English

Optional course, 8th semester


It will be a written exam.

Examination schedule for the SS 2018:

Date: 15.08.2018
Time: 2./3. DS (9:20 – 11:20) (120 Min)
Room: ZEU/148/Z

Time Schedule

Lectures and exercises: Wednesdays 16:40 – 18:10 and Thursdays 14:50 – 16:20

11.Apr.2018L1BAR/106/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.
12.Apr.2018L2BAR/213/HAlice Relay and Bob scenario under IEEE802.11 networks and asymmetric traffic. Analog Inter Flow NC.
18.Apr.2018L3FAL07/08Intra-flow network coding. Random Linear Network Coding (Basics)
25.Apr.2018L4FAL07/08Random Linear Network Coding (Continuation)
26.Apr.2018E1BAR/213/HAnalysis 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.
02.May.2018E2FAL07/08E1 continuation. Basic UDP transmissions over WIFI with Python. Example of Inter-Session Network coding: XORing packets
09.May.2018L5FAL07/08RLNC advanced 1 (systematic and sparse RLNC)
16.May.2018L6FAL07/08RLNC advanced 2
30.May.2018E3FAL07/08Introduction to KODO. Lossless Encoding and Decoding
07.Jun.2018E4BAR/213/HCode efficiency. Number of linear dependencies. Where does the linear dependencies occur? Multi-path and Multi-hop with NC
13.Jun.2018L7FAL07/08Network coding for storage.
20.Jun.2018L8FAL07/08Network coding use cases and applications.
21.Jun.2018L9BAR/213/HNovel research topics in network coding: Joint compressed sensing and network coding; PRAC (Packetized Rateless Algebraic Consistency).
27.Jun.2018E5FAL07/08Finite fields operations
04.Jul.2018E6FAL07/08Full vector vs sliding window coding; Multi-generation coding
05.Jul.2018E7BAR/213/HPlacement of recoder in the multi-hop topology

Module Number: ET-12 10 21

Recommended Literature



  • Ahlswede, Rudolf, et al. “Network information flow.” Information Theory, IEEE Transactions on 46.4 (2000): 1204-1216.
  • Koetter, Ralf, and Muriel Médard. “An algebraic approach to network coding.”IEEE/ACM Transactions on Networking (TON) 11.5 (2003): 782-795.
  • Médard, Muriel, et al. “Network coding mythbusting: why it is not about butterflies anymore.” IEEE Communications Magazine 52.7 (2014): 177-183.


Inter-flow Network Coding

Intra-Flow Network Coding (Updated 11.Jun.18)

Distributed storage

5G Paradigm

A video of different encoders-decoders pairs can be found here.

Due to current issues with our DNS, if you want to access the jupyter notebooks online, use this address.

Material for Exercise 1 and 2

Exercise 1 will be written. Therefore, it is only required that you bring pen and paper.

The solutions to the exercises are here:

Cross Topology

Intra-session NC

Asymmetric Alice and Bob

Material for Exercise 3

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.

Answers for Finite Field Calculation


Example code of recoder placement between multi-hop relays



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.