Skip to content
Adaptive

Learn Coding Theory

Read the notes, then try the practice. It adapts as you go.When you're ready.

Session Length

~17 min

Adaptive Checks

15 questions

Transfer Probes

8

Lesson Notes

Coding theory is the branch of mathematics and computer science that studies the design of error-detecting and error-correcting codes for the reliable transmission and storage of data. At its core, the field addresses a fundamental problem: how can information be encoded so that errors introduced during transmission through a noisy channel can be detected and corrected by the receiver? The discipline draws on abstract algebra, linear algebra, probability theory, and combinatorics to construct codes with provable guarantees on their error-handling capabilities.

The foundations of coding theory were established by Claude Shannon in his landmark 1948 paper 'A Mathematical Theory of Communication,' which proved that reliable communication is possible over noisy channels as long as the transmission rate stays below the channel capacity. Richard Hamming soon followed with the first practical error-correcting codes in 1950, after growing frustrated with unreliable punch-card readers at Bell Labs. These pioneering works launched decades of research that produced increasingly powerful code families, including Reed-Solomon codes, BCH codes, convolutional codes, turbo codes, and low-density parity-check (LDPC) codes.

Today, coding theory is indispensable across modern technology. Reed-Solomon codes protect data on CDs, DVDs, Blu-ray discs, and QR codes. LDPC codes and polar codes underpin 5G wireless standards. Convolutional codes with Viterbi decoding enabled deep-space communication for NASA missions. Beyond classical applications, coding theory now intersects with quantum computing through quantum error-correcting codes, with distributed systems through erasure codes used in cloud storage, and with cryptography through connections between codes and lattice-based encryption schemes.

You'll be able to:

  • Identify the fundamental concepts of error-detecting and error-correcting codes including Hamming distance and redundancy
  • Apply linear algebra techniques to construct and decode block codes including Hamming, Reed-Solomon, and BCH codes
  • Analyze the trade-offs between code rate, error correction capability, and computational complexity in coding systems
  • Evaluate the performance of coding schemes against Shannon's channel capacity theorem for noisy communication channels

One step at a time.

Interactive Exploration

Adjust the controls and watch the concepts respond in real time.

Key Concepts

Hamming Distance

The number of positions at which two codewords of equal length differ. The minimum Hamming distance of a code determines its error-detecting and error-correcting capability: a code with minimum distance d can detect up to d-1 errors and correct up to floor((d-1)/2) errors.

Example: The binary strings 1011101 and 1001001 differ in positions 3 and 4, so their Hamming distance is 2. A code with minimum distance 5 can correct up to 2 errors in any received word.

Linear Code

A code in which any linear combination of codewords is also a codeword, meaning the set of codewords forms a vector subspace over a finite field. Linear codes are described by an [n, k, d] notation where n is the block length, k is the message dimension, and d is the minimum distance.

Example: The [7, 4, 3] Hamming code encodes 4-bit messages into 7-bit codewords. Because it is linear, the sum (XOR) of any two valid codewords produces another valid codeword.

Shannon's Channel Capacity Theorem

Claude Shannon's noisy channel coding theorem states that for any communication channel with capacity C, it is possible to transmit data at any rate R < C with an arbitrarily low probability of error, given sufficiently long block codes. Conversely, rates above capacity inevitably produce errors.

Example: A binary symmetric channel with crossover probability 0.1 has a capacity of about 0.531 bits per channel use. Shannon's theorem guarantees that codes exist enabling nearly error-free communication at rates below this threshold.

Reed-Solomon Codes

A family of non-binary cyclic error-correcting codes that operate on symbols from a finite field rather than individual bits. An RS(n, k) code over GF(q) can correct up to t = (n-k)/2 symbol errors, making them especially powerful against burst errors.

Example: CD audio uses a Reed-Solomon code that can correct a burst error wiping out about 4,000 consecutive data bits (roughly 2.5 mm of disc surface), which is why minor scratches do not affect playback.

Parity-Check Matrix

A matrix H that defines a linear code by specifying the constraints that every valid codeword must satisfy: a vector c is a codeword if and only if Hc^T = 0. The parity-check matrix provides a compact representation of the code and is used in syndrome decoding.

Example: For the [7, 4, 3] Hamming code, the 3x7 parity-check matrix has columns that are all nonzero 3-bit binary vectors. Multiplying a received word by H^T gives a syndrome that identifies the error location.

Convolutional Codes

Codes that process the input data stream continuously using shift registers, where each output depends on the current and several previous input bits. Unlike block codes, convolutional codes have memory and are decoded with algorithms such as the Viterbi algorithm or BCJR algorithm.

Example: NASA's Voyager missions used a rate-1/2, constraint-length-7 convolutional code decoded with the Viterbi algorithm, enabling the spacecraft to transmit images of Jupiter and Saturn back to Earth across billions of kilometers.

Turbo Codes

A class of high-performance error-correcting codes discovered by Berrou, Glavieux, and Thitimajshima in 1993 that use two or more constituent convolutional encoders connected in parallel through an interleaver. They are decoded iteratively and were the first practical codes to approach Shannon's capacity limit.

Example: The 3GPP LTE (4G) cellular standard uses turbo codes for data channels, achieving near-capacity performance that enables high-speed mobile data at very low error rates.

Low-Density Parity-Check (LDPC) Codes

Linear block codes defined by a sparse parity-check matrix, originally invented by Robert Gallager in 1960 and rediscovered in the 1990s. They are decoded using iterative belief propagation on a Tanner graph and can approach the Shannon limit within a fraction of a decibel.

Example: The 5G NR standard uses LDPC codes for the data channel, and the DVB-S2 satellite television standard uses LDPC codes to maximize throughput over satellite links.

More terms are available in the glossary.

Explore your way

Choose a different way to engage with this topic β€” no grading, just richer thinking.

Explore your way β€” choose one:

Explore with AI β†’

Concept Map

See how the key ideas connect. Nodes color in as you practice.

Worked Example

Walk through a solved problem step-by-step. Try predicting each step before revealing it.

Adaptive Practice

This is guided practice, not just a quiz. Hints and pacing adjust in real time.

Small steps add up.

What you get while practicing:

  • Math Lens cues for what to look for and what to ignore.
  • Progressive hints (direction, rule, then apply).
  • Targeted feedback when a common misconception appears.

Teach It Back

The best way to know if you understand something: explain it in your own words.

Keep Practicing

More ways to strengthen what you just learned.

Coding Theory Adaptive Course - Learn with AI Support | PiqCue