This document provides an overview of binary repetition codes and the Hamming distance as a simple error-correcting code. It discusses how coding theory studies error correction, cryptography and data compression applications of codes. Binary repetition codes represent messages as repeated bits and use majority voting to decode received bits and correct errors introduced over noisy channels. The document demonstrates generating codewords from messages, encoding messages, calculating the Hamming distance between codewords, and simulating encoding and transmission over a channel with Sage.