You are on page 1of 1


Rutgers, Spring 2016

January 20, 2016
Course Syllabus

Error control coding plays an important role in many scientific disciplines and virtually all telecommunication systems. In practice, codes are used to efficiently insure reliable, secure, and private
transmission and storage of information. In theory, codes are used to e.g., study computational
complexity, design screening experiments, provide a bridge between statistical mechanics and information theory, and even help understand the spacetime fabric of reality. One can also use
codes for entertainment, e.g., to solve balance puzzles such as the penny weighing problem, or to
design social (hat color) guessing-game strategies that significantly increase the odds of wining.
Learning Objective:
The students will learn the fundamentals of coding theory and practice, as well as a selected
number of more advanced topics of their individual research interests.
Instructor: Emina Soljanin
Office hours: Tuesday 3:20 PM – 4:40 PM or by appointment, CoRE 511, 848-445-5256.
Class time and place: M&W, 3:20 PM – 4:40 PM, SEC-202.
Prerequisites: probability and algebra at undergraduate level.
Grading: homework 10%, 2 midterm exams 25% each, final project 40%.
(Exams will be in class, late February and early April.)
Text: Error Control Coding (2nd Edition) by Lin and Costello
Course outline:
• Fundamental concepts through examples.
• Linear block codes, Ch. 2–7
• Convolutional codes, Ch. 11&12.
• Turbo codes, Ch. 16.
• LDPC codes, Ch. 17.
• Hybrid ARQ, Ch. 22.
• Network, rateless, storage, polar, and spatially-coupled codes
• coding theory in other scientific disciplines
The extent to which these topics will be covered will vary in accordance with the backgrounds
and research needs of the students in the class.