Algebraic Coding

Postgraduate course

Course description

Objectives and Content


Error correcting codes enable new applications on higher protocol layers. Among such applications we find efficient distributed storage, coding for low latency transport protocols, private information retrieval, and distributed computation, including secure versions of these applications. The aim of the course is to provide the algebraic foundation for the design of codes for these applications, and to show how the coding schemes can be implemented.



Algebraic codes used in higher layer protocols in the Internet and in storage systems: Distributed Storage Systems, Transport layer coding for single path and multiple path communication, Coding for Private Information Retrieval, Coding for Reduced latency, Coding for Efficient and Secure Distributed Computation, network coding and index coding.

Learning Outcomes

Learning Outcomes:


On completion of the course, the student should have the following learning outcomes defined in terms of knowledge, skills and general competence.


The student should have knowledge of

  • Information theoretic bounds of achievable efficiency for storage systems and communication systems
  • State of the art coding techniques for such systems



The student is able to

  • Implement protocols for distributed storage in software
  • Implement protocols for Efficient and Secure distributed computation in software
  • Implement protocols for Reduced latency transport layer communication in software
  • Implement protocols for private information retrieval in software
  • Optimize parameters for communication and storage systems according to a diverse set of criteria


General competence.

The student

  • is familiar with new ideas and innovation processes,
  • can exchange opinions with others with relevant background and participate in discussions concerning the development of good practice.

ECTS Credits


Level of Study


Semester of Instruction

Required Previous Knowledge
For incoming exchange students: At least 60 ECTS in Computer Science and at least 10 ECTS in mathematics
Recommended Previous Knowledge

INF240, MNF130, INF100, MAT121, STAT110 are strongly recommended.

In addition are INF142, INF140, INF101, INF242 recommended.

Credit Reduction due to Course Overlap
I243: 5 ECTS
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences
Teaching and learning methods

Lectures 4hours/week for 13 weeks

Exercises 2 hours/week

Compulsory Assignments and Attendance
Compulsory assignments are valid for one subsequent semester.
Forms of Assessment

The forms of assessment are:

Written examination or Digital written examination (3 hours). Mandatory assignments may be graded and included in the final grade.

Grading Scale
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.
Assessment Semester
Examination both spring semester and autumn semester. In semesters without teaching the examination will be arranged at the beginning of the semester.
Reading List
The reading list will be available within July 1st for the autumn semester and December 1st for the spring semester.
Course Evaluation
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.
Examination Support Material
Non-programmable calculator, according to the faculty regulations
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact Student adviser
Course Administrator
The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.