First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Engineering
Course unit
INP9086800, A.A. 2019/20

Information concerning the students who enrolled in A.Y. 2019/20

Information on the course unit
Degree course Second cycle degree in
IN2371, Degree course structure A.Y. 2019/20, A.Y. 2019/20
bring this page
with you
Degree course track CYBERSYSTEMS [002PD]
Number of ECTS credits allocated 6.0
Type of assessment Mark
Course unit English denomination NETWORK CODING
Department of reference Department of Information Engineering
E-Learning website
Mandatory attendance No
Language of instruction English
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Teacher in charge MICHELE ROSSI ING-INF/03
Other lecturers TOMASO ERSEGHE ING-INF/03

Course unit code Course unit name Teacher in charge Degree course code

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Core courses ING-INF/03 Telecommunications 6.0

Course unit organization
Period Second semester
Year 1st Year
Teaching method frontal

Type of hours Credits Teaching
Hours of
Individual study
Lecture 6.0 48 102.0 No turn

Start of activities 02/03/2020
End of activities 12/06/2020
Show course schedule 2019/20 Reg.2019 course timetable

Examination board
Examination board not defined

Prerequisites: Probability Theory, fundamentals of Statistics that include MAL and ML criteria, Computer Programming in any language which is appropriate for signal analysis (e.g., MatLab, Python, C, Java, Linux); any further, even basic, knowledge of Telecommunication Systems is useful.
Target skills and knowledge: 1. Learn the modern channel coding techniques for point-to-point transmission, e.g., LDPC codes and BICM
2. Unveil the graphical representation of codes and its use for decoding purposes
3. Master the modern way of efficient decoding via message passing algorithm
5. Ability to implement encoder and decoder functions over point to point communication links and in distributed networks (network coding)
5. Ability to carry out a simulation-based performance evaluation of the presented coding algorithms
Examination methods: The final evaluation will be based on a written exam and on an implementation based project, both mandatory.

Written exam:
- one exercise on point-to-point coding (physical layer)
- one exercise on coding over distributed networks (network coding)
- a theoretical question

- implementation of a coding system for distributed networks (network coding) and assessment of its performance via simulation
Assessment criteria: 1. Completeness of the acquired knowledge
2. Level of understanding of the design principles of decoders
3. Ability to discuss the pros and cons of the different channel coding techniques
4. Competence and coherence in the interpretation of the performance curves of a code
5. Ability to implement coding functions for point-to-point physical layer links, and at the application layer for point-to-point links and distributed networks
6. Ability to carry out a sound performance evaluation of the algorithms at point 6, understanding and discussing their performance
Course unit contents: 1. Introduction on linear codes: hard versus soft decoding of block codes, comparing codes performance via bit error rate and spectral efficiency
2. Codes on graphs: convolutional, turbo, LDPC, repeat-accumulate, BICM, and trellis codes; decoding via message passing algorithms
3. Rateless codes: Fountain codes, encoding and decoding on bipartite graphs, theoretical results, use of packet-based rateless codes above the physical layer (at the link, network, and application layers)
4. Coding over distributed networks: use of packet-based coding to 1) distribute data and 2) store data in a resilient manner, i.e., robust to failures of network nodes and/or to bad channel conditions over the links. Discussion of selected algorithms from the literature, and discussion of their performance
5. Encoding examples presented and fully solved in the classroom
Planned learning activities and teaching methods: - 20 frontal lessons
- 2 lab. experiences with Matlab
- 2 lessons where the teacher will solve selected network coding exercises
Additional notes about suggested reading: The teaching material will consist of selected books, scientific papers and slides prepared by the instructor. All the teaching material presented during the lectures will be made available through the platform:
Textbooks (and optional supplementary readings)
  • T. Erseghe, Channel Coding. --: Padova University Press, 2016. Cerca nel catalogo
  • A. Shokrollahi, M. Luby, Raptor Codes. --: Now Publishers, 2011. Foundations and Trends in Communications and Information Theory

Innovative teaching methods: Teaching and learning strategies
  • Lecturing
  • Laboratory
  • Problem based learning
  • Case study
  • Working in group

Innovative teaching methods: Software or applications used
  • Latex
  • Matlab
  • C/C++

Sustainable Development Goals (SDGs)
Quality Education Decent Work and Economic Growth Industry, Innovation and Infrastructure