Coding for Information Networks

Assistant Prof. Seyed Pooya Shariatpanahi
Lecturer's institute: 
Electrical and Computer Engineering School, University of Tehran
14.12.2020 09:30 to 15.12.2020 16:30


14-15 December, 2020

9:30-12:30 and 13:30-16:30 (both days)


Homework (including MATLAB) and Exam.

Registration (course code: 521194S):  



In traditional networks, packets are treated as units of information and the main delivery paradigm is routing these information units from sources to destinations. With the invention of Network Coding, by mixing the contents of different packets (i.e., coding), great performance improvements in terms of throughput, delay, security and … has been observed. The paradigm of network coding (i.e., mixing packets) has recently penetrated into other fields, such as in content delivery networks (CDNs), information retrieval systems, and distributed storages. In this short course, we bring all these examples under the umbrella of network coding, and explain how, and why, we benefit from coding in each setting.


  • Day 1:
    • Motivation: The Coding Advantage
      • Overview of some motivating examples: The Butterfly Network, Security Advantage, Data Exchange Problems, Storage Systems, Index Coding, Coded TCP, etc.
    • Introduction to Finite Fields
      • Why do we need finite fields?
      • Finite Field Construction
      • Introduction to MDS Codes
    • Network Coding Main Theorem
      • Problem Setup
      • Max-Flow Min-Cut Theorem
      • Ford-Fulkerson Algorithm
      • Network Coding Multicast Theorem
    • Index Coding
      • Problem Setup
      • Using MDS Codes
      • Clique Cover
      • Fractional/Partial Clique Cover
      • Min-Rank Characterization
  • Day 2:
    • Coded Caching
      • Problem Setup
      • Centralized Coded Caching
      • Decentralized Coded Caching
      • Device-to-Device Coded Caching
      • Secure Coded Caching
      • Multi-Server Coded Caching
      • Wireless Coded Caching
    • Coding for Private Information Retrieval (PIR)
      • Problem Setup
      • Capacity of PIR
      • The Role of Caching/Side Information
    • Coding for Distributed Storage Systems
      • Problem Setup
      • Coded Distributed Storage Main Theorem


Seyed Pooya Shariatpanahi received the B.Sc., M.Sc., and Ph.D. degrees from the Department of Electrical Engineering, Sharif University of Technology, Tehran, Iran, in 2006, 2008, and 2013, respectively. Currently, he is an assistant professor at the School of Electrical and Computer Engineering at University of Tehran. Before joining University of Tehran, he was a researcher with the Institute for Research in Fundamental Sciences (IPM), Tehran, Iran. His research interests include information theory, network science, wireless communications, and complex systems. He was a recipient of the Gold Medal at the National Physics Olympiad in 2001.

Last updated: 18.11.2020