Practical Implementations of Network Coding


Lecturer: Professor Frank Fitzek

Main lecturer:Professor Frank Fitzek

Assistant: M.Sc. Juan Cabrera

Co-lecturer:M.Sc. Juan Cabrera

Assistant: Dipl.-Ing. Sandra Zimmermann

Co-lecturer:Dipl.-Ing. Sandra Zimmermann


Course will be held partially online due to current corona situation.
More information can be found in TUD Aktuelle Hinweise COVID-19


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


Written exam.

Examination schedule for the SS 2021:

Date: 18.08.21 at 07:30

Time: 90 Min.

Room: GÖR/127/U

Links for the online room for lectures and exercises on Wednesdays

With TU Dresden Account

Without TU Dresden Account

Links for the online room for lectures and exercises on Thursdays

With TU Dresden Account

Without TU Dresden Account

Our JupyterHub with exercises

Module Number

ET-12 10 21

Time Schedule

Wednesday 6DS (16:40 – 18:10)
Thursday (Every other week) 5DS (14:50 – 16:20)

Please, check from time to time the schedule below since there may be updates during the semester.

Lecture Videos

Lectures and exercises:

14.Apr.2021L1OnlineDigital Inter Flow Network Coding: Motivation for network coding and use cases (5G, IoT, Wireless Mesh); Butterfly example; min cut max flow. Inter Flow network coding. Index Coding. Zick Zack Coding. CATWOMAN. Alice, Relay and Bob scenario under IEEE802.11 networks and asymmetric traffic
15.Apr.2021L2OnlineDigital Inter Flow Network Coding (continuation)
21.Apr.2021L3OnlineDigital Inter Flow Network Coding (continuation)
Analog Inter Flow Network Coding: Introduction to Physical-layer Network Coding (PNC) and Analog Network Copding (ANC); Basic concepts; Implementation on Software Defined Radios; Potential gains
29.Apr.2021L5OnlineDigital Intra Network Coding: Introduction to Random Linear Network Coding; Performance parameters field size and generation size; impact on resilience and latency; decodability for different field sizes; code variants: full RLNC/sliding window/sparse/seed/systematic/perpetual; overhead considerations for different field sizes and sparsity levels; heterogenous packet sizes; KODO and examples
12.May.2021L6OnlineDigital Intra Network Coding (continuation)
19.May.2021E1OnlineKodo Python and our Jupyter hub. Getting Started
02.Jun.2021E2OnlineE1 continuation. Basic UDP transmissions over WIFI and an implementation of Alice, Relay and Bob scenario with digital inter-flow network coding (both with Python)
09.Jun.2021L7OnlineDigital Intra Network Coding (continuation)
10.Jun.2021L8OnlineAnalog Inter Flow Network Coding - Continuation
16.Jun.2021E3OnlineIntroduction to Finite field operations
23.Jun.2021E4OnlineAnalysis to decoding probability of RLNC
24.Jun.2021L9Online Fulcrum Network codes - Continuation
30.Jun.2021E5OnlineOnline Q&A
07.Jul.2021L10OnlineIntroduction to PRAC; dealing with bit errors rather than packet ereasure
08.Jul.2021E6OnlineAnalysis of cross topologies with and without overhearing
14.Jul.2021E7OnlineNetwork coding in multihop scenarios
21.Jul.2021E8OnlineNetwork coding in multi-path scenarios
22.Jul.2021E9OnlineOnline Q&A

Further Material


Please check the OPAL link for the latest version.