Skip to content

Resources, homeworks, etc. for the Math Behind Error Correction camp in January 2026.

Notifications You must be signed in to change notification settings

orcsgirls/Jan2026MathCampResources

Repository files navigation

Jan2026MathCampResources

Resources, homework, etc. for the Math Behind Error Correction camp in January 2026.

Course Content / Notes

Day 1

  • How to convert numbers from base-10 to base-2
  • How to write a number in a different base (ex. $10110_2$)
  • How to add numbers in different bases
  • Finding the parity of a base-2 string of bits
  • Why we need to detect and correct errors
  • What the difference is between error detecting and error correcting codes

Resources

Day 2

  • In general, what codes allow you to detect if an error's occurred
  • Repetition code, and why it's inefficient
  • Parity and parity in chunks codes, and why you can detect transmission errors but not correct them
  • Brainstorm how you could possibly expand these to an error correcting code
  • Parity check method used for credit cards (Luhn algorithm)

Resources

Day 3

  • 2-dimensional error detection / correction method
  • Discuss problems with all the methods we've discussed - we have to assume that there's only been one error
  • Brainstorm ideas to detect / correct more than one error
  • Begin talking about vectors, and what notation we'll use to describe them
  • What are vectors?
    • Describe "hops" on the number line (of real numbers), how to visualize addition as adding "hops" and multiplication as making them longer
    • Now use the coordinate plane, kind of a 2d number line, and how vectors are essentially the 2d version of the "hops"
    • Introduce notation for writing vectors (ex. $\vec{v} = \langle 1, 2 \rangle$)
    • Introduce notation for vector spaces, what vector spaces are, and the ones we'll be using for the rest of the class ($\mathbb{Z}_2^n$)
  • Note: vectors themselves are fascinating but addition and multiplication by integers are all the arithmetic we need to know for Hamming codes (no dot products or anything complicated like that)

Resources

Day 4 / Day 5?

  • Vector spaces are all possible vectors of a certain length and in a certain base, subspaces are subsets of those. How to define a more restrictive vector subspace as a combination of basis vectors.
  • Visual representations of vector spaces and subspaces (squares, cubes, tesseracts, etc.)
  • How to tell whether a vector is within a subspace, and why or why not
  • Hamming codes - vectors within a subspace are an acceptable message, ones that are just within the space are not.
  • Hamming distance between two vectors determines how to correct a message with a transmission error

Resources

Day 5 / Day 6?

  • There's some extra slides about modular arithmetic, finite fields, and set notation that were kind of a deviation from the topic of the class. If there's extra time, that's something we could potentially look at.

Further reading / more interesting resources

About

Resources, homeworks, etc. for the Math Behind Error Correction camp in January 2026.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages