Overview

In Math and the Internet, we focus on four main topics: error-correcting codes, building our own primitive computer starting with transistors, data compression, and cryptography. The students work in groups to come up with their own solutions to problems and are exposed to some mathematics that isn't seen in the usual high school curriculum. And we have a lot fun!

Error Correction

Computers communicate in the language of binary numbers. Everything we send over the internet can be expressed in terms of 0's and 1's. Invariably, there are errors introduced. We explore how computers detect and correct the errors. Along the way, we learn what a perfect code is, how to do arithmetic in a finite field, and how to correctly guess what color hat you are wearing.

Computer Hardware

Later in the first week we will pull out wire and transistors and use Boolean logic to build our own computers. We work as a class to build a computer out of logic gates that will communicate with the internet. Every year, the project changes a bit, so that each class creates something never made before. This year, if we are successful, we'll be posting messages and pictures to Discord using a Raspberry Pi and a machine we will construct.

Compression

The amount of information sent over the internet every day is massive. In 2023, the amount of internet traffic is projected to exceed 100 zettabytes per year. That's 1 × 1023 bytes! Data compression allows us to send the same amount of information using fewer bits than we originally start with. We'll learn how to use statistical information about human language to reduce the number of bits needed to send text, a general method for compressing data that contains arbitrary patterns, and how a 19th century French mathematician's ideas make jpegs and mp3s work.

Cryptography

Anything sent over the internet can be intercepted and read. Internet commerce depends on our ability to encrypt information so that only the desired recipient can understand it. But how can we agree on a code, if all our conversations are public? We learn about RSA encryption and decryption. This gives us an opportunity to learn some abstract algebra and get lots of practice with modular arithmetic. We will also have a friendly competition with another class and try to decrypt their messages.


The internet plays a crucial role in our lives today, and by the end of the class, we will have an idea how math plays a crucial role in the internet.