EECS246/NETSYS256: Network Coding, Winter 2012



Instructor: Athina Markopoulou
Lectures: Tuesday and Thursday, 2:00 pm – 3:20 pm in DBH 1420
Office Hours: Thursdays 4-5:30pm in EH 4207
Mailing Lists:
valign=“top” Textbooks:

1. C.Fragouli and E.Soljanin, “Monograph on Network Coding: Fundamentals and Applications”, Foundations and Trends in Networking, Now Publishers. Available online (free when accessed from UCI) via Now Publishers: Network Coding Fundamentals and Network Coding Applications; or check the authors' website.

2. "Network Coding: Fundamentals and Applications", edited by M.Medard and A. Sprintson, Academic Press, 2012. Also on reserve at the library and soon at the bookstore.

Additional Reading: T. Ho and D. S. Lun, "Network Coding: An Introduction", Cambridge University Press, Cambridge, U.K., April 2008.

A monograph on "Information Theory and Network Coding", by Raymond Yeung. Also available online (for free) to UCI via Now Publishers; and at the library.

Papers will be posted here throughout the quarter.
Prerequisites: Required: Internet, algorithms, and linear algebra (at the undergraduate level).
Useful (but can pick up on your own): Programming in matlab or python will be needed for some homework assignments.
Optional: programming in Java and/or C++ will be needed for those of you choosing implementation projects.

Course Description

In today's communication networks, intermediate nodes forward data but the information itself is only processed at the end-systems. The network coding paradigm advocates that, in addition to forwarding packets, intermediate nodes should be able to also process and re-combine several incoming packets into one or more outgoing packets. This idea can bring benefits in terms of throughput and distributed operation but also introduces costs, such as increased computational complexity, security vulnerabilities and implementation issues. Network coding has been an active research area over the last decade, first in the information theory, communications and computer science communities and later within the networking community.

In this course, we will first cover the basic principles of network coding, including: the main multicast theorem; intra-session vs. inter-session network coding; theoretical frameworks for studying network coding; and network code design algorithms.

Then, we will discuss applications of network coding in: wireless networks, peer-to-peer and content distribution networks, networks with errors, storage.

We will also discuss issues related to practical deployment, such as security and cross-layer design.

Deliverables and Grading

What Grade % When
Homeworks 20% a few homeworks (~3 in the entire quarter)
Quizzes 10% bi-weekly, in class, without prior notice
Project 30% presentation in class on Thu 3/15, report on Sun 3/18 23:59PST
Final Exam 40% Thursday, Mar 22 1:30 - 3:30 p.m. open books/notes
Participation in class +10% optional

Quizzes: Quizzes will be in class. No late/rescheduled quizzes will be accepted. If you need to skip one quiz, that is fine: it will be assigned a grade 0. However, the quiz with lowest grade (including those graded 0) will be dropped for every student and will not be considered in the final calculation.

Homeworks: Homeworks will consist mostly of theoretical exercises and occasionally matlab/python simulations. Hand-written homeworks are ok. (If you prefer, you can also type and submit them electronically. In that case, here are more detailed instructions and here is the corresponding template latex file.) No late homeworks or rescheduled quizzes will be accepted. Solutions will be posted online shortly after the deadline.

Projects: topics and details will be posted later, but here are the milestones:

  • Choose a topic and your team (of 2 or 3 people), submit your proposal, by the end of the 4th week.
  • Give a 10-15min presentation in class, on Thu 3/15 (last class of the quarter).
  • Submit a final report by Sunday March 18, 23:59 PST


Communication: Please post all class-related questions on the messageboard. I will check the message board every 1-2 days and reply. Usually students have similar questions and everybody can benefit from the same answer. Personal emails to the instructor are the last, not the first resort!

Late/No Show Policy: No late homeworks or rescheduled quizzes will be accepted. If you do not turn in a homework or quiz, you will get a zero grade. However, to accommodate unforseen circumstances, the homework and the quiz with the lowest grade (including 0 for a missing one) will be dropped. This means that you can skip one homework and one quiz without asking permission. You must show up for the project presentation and, obviously, the exam to get the corresponding points; no rescheduling.

Collaboration: you are allowed to discuss with your classmates, but you are supposed to do your assignments individually. If you work closely with somebody, please indicate their name on your homework. If I notice that two homeworks are identical, both students will get 0 grade; they will also be subject to the rules of UCI Academic Honesty Policy.