**Description:** Network Coding: Theory and Applications

The PhD course provides an introduction to the rapidly growing research area of network coding. Network coding allows intermediate nodes in a network to manipulate data, for example by sending out packets that are combinations of previously received packets instead of simply forwarding them. For most practical purposes, these manipulations are linear operations over elements of a finite field. The initial theoretical results on network coding were followed by a wealth of applications in a number of different areas that show that the theoretical insights can be translated into practical gains. The PhD course is divided into three parts. The first part provides the participants with the theoretical tools necessary to understand the field of network coding and focuses on the underlying algebraic principles. It will also introduce distributed randomized network codes and discuss their properties. We will not assume any prior knowledge of advanced algebra or optimization. Among other things, network coding can be used to increase throughput and robustness as well as reduce storage requirements, delay, and energy consumption. The second part of the PhD course gives an overview of the different application areas and discusses, which types of networking problems are amenable to network coding (and which aren't). In particular, it covers practical algorithms for data gathering in sensor networks, routing in wireless mesh networks, peer-to-peer networking and content distribution, streaming applications, etc. Finally, we will discuss implementation aspects in real-world systems. Such systems may range from core network routers all the way down to mobile phones and tiny sensor nodes. The constraints imposed by these devices in terms of available memory and computing power may differ by several orders of magnitude. As a consequence, the encoding and decoding algorithms need to be carefully adapted to the specific problem at hand. As an example, the size of the finite field for the coding operations has an impact on network coding efficiency, but also on the encoding and decoding complexity. Coding operations may be sped up substantially through the use of specialized hardware, as evidenced by the successful implementation of network coding on Graphics Processing Units (GPUs). The energy consumed by the coding operations is of particular importance on mobile devices and needs to be considered to avoid offsetting the energy gains offered by network coding.

Prerequisites: Basic probability, linear algebra

Key literature: T. Ho, D. S. Lun, “Network Coding: An Introduction,” Cambridge University Press, 2008. M. Médard, A. Sprintson, “Network Coding: Fundamentals and Applications,” Academic Press, 2011.

Timeline for the course: 5 full days of lectures and in-class exercises from 8h30 to 17h30. Muriel Médard and Frank H. P. Fitzek will teach 1 day of lectures each, while Daniel E. Lucani and Morten V. Pedersen will teach the remaining three days of lectures and exercises.**Organizer:** Frank H. P. Fitzek**Lecturers:** Frank H. P. Fitzek, Muriel Médard (MIT), Daniel E. Lucani, Morten V. Pedersen**ECTS:** 4**Time:** 8-12 December, 2014**Place:** Aalborg University, Fredrik Bajers 7

**Room**: B2-109**Zip code: **9220**City: **Aalborg**Number of seats:** 40**Deadline:** 1 December, 2014

- Teacher: Frank Fitzek
- Teacher: Daniel Enrique Lucani Roetter