[Math] Simplest error detecting/correcting codes for math newbies

coding-theoryeducation

Suppose you have been given the task of teaching some basic coding theory to folks who are interested in math but have not taken algebra, number theory, etc. If you want to introduce codes, you might start out with codes that are just based on overall parity – for example, you might start out assuming serial communication, and introduce a code in which $11$ and $00$ were codewords while $01$ and $10$ were not. You can obviously extend this example to any number of bits, but the idea remains the same – and this is a pretty terrible code.

In the spirit of introducing as little abstraction, group theory, etc as possible, what is or are the next logical code(s) to introduce?

Best Answer

I second what @RobertIsrael writes.

I have a talk for high-school students based on the Seven Questions, One Lie game, which involves the $(7,4)$ Hamming code and the Fano plane, and it's always quite successful. It's a good way to teach about the codes without appealing too much to algebra. See this post of Peter Cameron for an account.

I have also some slides for it, but they are in Italian. These other slides deal with the Fano plane. They are also in Italian, but it's mostly geometry, there's little talking. They show how you can decode just by doing geometry, like, the line through two distinct points.

Related Question