Lecture 1: Codes Made of 0s and 1s

Most people have come to think of messages as a set of letters, your mom leaves you a note telling you not to be late for dinner because Aunt Gertrude will be there, for example. And that is a perfectly reasonable way to think about things. But what if your mom wanted to get that message across, the one about Aunt Gertrude but couldn't actually write whole words.

Maybe you tried to do this at some point in your life, in the course of playing the game Twenty Questions. In this game, you get asked a series of yes and no questions and answer them to try to tell the person asking the questions something that you are thinking about.

Now imagaine a situation where the questions from 20 questions are decided in advance. Would you need to be asked the questions at all then? You could just send along the answers right away, without waiting for the questions, since you already knew what they were. Assume that you and your mom had a standard set of yes and no questions about the evening that conveyed the possibilities, like dinner being late or early. Then you would only need your mom to send you a list that read something like "yes, yes, no, no, yes, yes" rather that the whole note.

Is there anything special about the yes and no? Do you really need them in particular, or would replacing yes with 1 and no with 0 do?

This process of communicating yes and no with 1s and 0s is the basis upon which modern communication is based. The modern computing system is made up of an advance set of yes and no responses that make up each set of the alphabet, and so we can transmit notes that contain regular English letters using only the 0 and 1 version of yes and no. It is ways of making sure that messages of 0s and 1s are correct upon which we will focus our energies.

This work was made possible through a grant from the National Science Foundation.