1. Grundlagen von Blockcodes: Galoisfeld, Wiederholungscode, Code mit einem Prüfsymbol (single parity check code), elementare Modifikationen von Blockcodes, minimum distance-Decodierung und bounded minimum distance-Decodierung, Fehlerdetektion, Korrektur von Symbolauslöschungen (erasure filling), Bündelfehler, Schranken der Leistungsfähigkeit (Singleton-Schranke, Hamming-Schranke, asymptotische Schranken, Kapazität des binären symmetrischen Kanals), Übungsbeispiele
2. Lineare Blockcodes: Linearität, Minimale Distanz, Gewichtsverteilung and Gewichts-Enumerator, Fehlerwahrscheinlichkeit des ML-Decoders, Matrixbeschreibung, dualer Code, Syndrom, Syndromdecodierung, Wiederholungscode, Code mit einem Prüfsymbol (single parity check code), Hamming-Codes, Modifikationen und Zusammensetzungen linearer Blockcodes (Permutation, Modifikationen von Länge und Rate, Teilkörper-Teilcodes, Produktcodes, verschachtelte Codes, seriell verkettete Codes, Turbocodes), Übungsbeispiele
3. Zyklische Blockcodes: Polynombeschreibung, dualer Code, Syndromdecodierung, Matrixbeschreibung, Schieberegister-Schaltungen für Encodierung and Decodierung, primitive zyklische Codes, Nullstellenmenge (defining set), cyclic redundancy check (CRC)-Codes, Frequenzbereichsbeschreibung, Reed-Solomon-Codes, BCH-Codes, Übungsbeispiele
4. Faltungscodes: Elementare Encoder, Distanzprofil und freie Distanz, Gewichtsverteilung and Gewichts-Enumerator, Fehlerwahrscheinlichkeit des ML-Decoders, Abschneiden (truncation) und Terminierung, Matrixbeschreibung, Syndrom, Syndromdecodierung, Polynombeschreibung, nichtkatastrophale Encoder, Trellisbeschreibung, graphenbasierte Decodierer, Viterbi-Algorithmus für hard-input und soft-input ML-Decodierung, sequenzielle Decodierung, trellis-codierte Modulation, Übungsbeispiele
5. Turbocodes: Encodierer, elementare Parameter, BER, Gewichtsverteilung und spektrale Ausdünnung (spectral thinning), Interleaver, L-Werte, iterativer Turbo-Decodier-Algorithmus, BCJR-Algorithmus, max-log-MAP Algorithmus, EXIT-Diagramme, Übungsbeispiele
6. LDPC-Codes: Definition und Eigenschaften von LDPC-Codes, reguläre und irreguläre LDPC-Codes, Tanner-Graph, Encodierung, einige Konstruktionen von LDPC-Codes, Repeat-Accumulate-Codes, iterative Decodierung (Bit-flipping Algorithmus, Faktorgraph, Belief propagation-basierte Algorithmen), Übungsbeispiele
Appendix: Mathematische Grundlagen: Galoisfeld, Hamming-Gewicht und -Distanz, Hamming-Kugeln, Nebenklassenzerlegung (standard array), Polynome über GF(q), primitive Elemente and Exponentialdarstellung, Erweiterungskörper und Zerfällungskörper, primitive Polynome, DFT über GF(q), Übungsbeispiele