Olivia and Kahler's Blog

Olivia Herbert and Kahler Tomlin are the Undergraduate Student Instructors for Math and the Internet this summer, and they will be blogging about what we do in class each day.

Monday, June 26, 2023

To start the day, we began our discussion about binary! We started to think about the most basic ways of representing numbers. Thinking back to their elementary school days, the we shared how they counted with tally marks. As we continued our discussion, we kept noticing more efficient ways of representing numbers: Roman numerals, Japanese numbers, and Arabic numbers. This led to our exploration into the world of binary numbers! We converted decimal (base 10) into binary (base 2) and vice versa. Moreover, we worked out addition and subtraction problems using binary numbers as well as doing long division and multiplication. Upon converting ⅓, ⅕, 1/10 into binary, we all took a break in the atrium. Between playing foosball, King of the Court at the ping-pong table, and SET, all we were having a blast.

Once we returned from our break, we started to talk about the world of ASCII, which would come in handy later. We then worked on a project of reliable transmission. The we were trying to find a method of transfer capable of transmitting a movie file with no errors. It was finally lunchtime!

Our talk about reliable transmission carried over into our discovery of the solution to the hat game. The we came up with the method of saying blue to represent an odd number of blue hats in front of them and maize represented an even number of blue hats. It took a few tries, including the recognition of zero as an even number, and the method finally worked!

Our next topic of the day was parity bits. The goal of our discussion was to try a way to send a message with as few bits as possible, detecting and correcting errors. Our class started out with sending 12 bits in place of a 4-bit message, with the result that we could correct one error. We then worked down to ten, nine, eight, and eventually seven bits. It was then that the class discovered "Sienna" Code. Tomorrow we will find out it is the Hamming's (7,4) Code! With a new tool at our disposal, along with an ASCII table, the class embarked in groups of two in developing encoded messages for their classmates to decode. Once a group encoded their message, the instructors introduced errors and then gave the errored message to another group to see if the original message could be recovered. With messages like "P@rity Iz K00L", "HELLO EVERYBODY", and "AIfUziAoCGAIonZwUsnG", the class surely had some fun in finding out what their classmates encoded. When everyone was wrapping up and finding wacky messages, we decided to wrap up for the day. Much more to learn tomorrow!

--Kahler

Tuesday, June 27, 2023

Fresh out of bed from their second night in Ann Arbor, we arrived early to class eager to take on the day. To begin, we reinvestigated our "Sienna" code from the day prior. After some convincing with circles upon circles, the class learned that the "Sienna" code was indeed the Hamming code. After such discovery, we decided to give our minds a break and head to the atrium for some ping-pong and foosball. Once our rest concluded, we delved into the world of Reed-Solomon. we were introduced to the world of F8 where we developed a system of describing it.

Next, the we were asked to pair up and encode two-character messages as 24-bit codewords.. We combined polynomials and binary to encode our messages. After a bit, we broke for lunch, with we anxiously waiting to see if their messages would decode correctly. Once everyone returned from lunch, Kahler and Olivia reviewed what we were doing before. Together with the class, they encoded the message ":)". It was then that Mark fired up his program to decode the we' 24-bit codewords. The class nailed it with this activity! we' encoded messages like "BA", "MI", "NO", and "YO" were properly decoded by the program, all the while showing that we are excelling in our uses of Reed-Solomon.

To reward ourselves we decided collectively that now was the best time for us to play ultimate frisbee for the first time. We watched a very instructional video sharpening everyone's knowledge of the game. It was after the three-minute YouTube video that we ventured out to the diag for an intrasquad game. With a final score of 7 to 5, everyone sure won the game with a celebratory cup of lemonade.

Once we got back to the classroom, Mark began our exploration of the internet. He reminisced about his history with the internet, and how geeks were the only ones on the internet. We also reviewed the old days of computers and the world of PCs. we were shocked to learn that the world wide web was created in 1991. Mark continued to share his experiences as a programmer in the world before the world wide web. Then, we used the Wayback machine to see what Yahoo! was like in 1996. He then shared how Yahoo! piqued the interest of the US public into finding some sort of search engine. In enters Google, which completely changed the world of the internet. After searching for Justin Bieber (someone Mark believes is super popular), Mark asked the question: "How do we put the most popular stuff first?". To wrap up today's activities, we worked with probability. We told a story about a family throwing around a frisbee. Then, we used matrix multiplication to calculate the probability of any member of the family receiving the frisbee at any given time. Mark connected it to surfing the web, which is the idea that made Google great, when everyone else was going in the wrong direction. What a great day of learning!

-- Kahler

Wednesday, June 28, 2023

With two full days of MMSS under our belts, we were in for a treat as their third day was starting. As we walked into class, they wrote their favorite pizza toppings on the board. With a majority expressing their love for pepperoni on their pizza, we decided to begin class. Using varying toppings starting with an a or b, we worked through truth tables to derive what we now know as the NOT, OR, NOR, XOR, AND, and NAND functions. We continued our work with some logic problems. We combined our functions to find out how many pizzas fulfill about 12 people's desires.

With their brains full of new ideas, we chose to take a break. Because of poor air quality in Ann Arbor, we once again decided to explore East Hall and venture back to the atrium. With the sweet music of Jesse playing the piano, a doubles ping-pong King of the Court emerged. After countless games to 11, we all drank a cup of lemonade and headed back to the classroom.

Once we got back, we broke out the breadboards, resistors, and transistors. With materials at the ready, we followed directions on the boards, using switches to control LEDs. Going through each diagram given by Mark, we were able to realize the NOT, NAND, and NOR gates using only wires, resistors, and transistors. Then we broke out chips (integrated circuits) for those, and built AND, OR, and XOR using the chips. With the mentality of, "You build it, you get it", we were eager to push through the exercises.

Once completed, we tried to create a one-bit adder. we absolutely crushed this and a few decided to reward themselves with more ping-pong. Others kept hard at work to advance their understanding of the breadboards. Once everyone returned, we cranked out the final 45 minutes of class for the day. Most of the class were able to sum up three bits. Two of us managed to construct a machine to add two 2-bit numbers to get a 3-bit number. It's amazing how far we've come in a day.

With a hard day of work in the rearview, we cleaned up the classroom and sent students back to their dorm feeling very proud of what they did today. More work with the breadboards to come tomorrow!

--Kahler

Thursday, June 29, 2023

To begin the day, we broke out the breadboards for today's activities. Our first activity was creating a NAND latch. Using two NAND gates, we found out that we can store memory!

After our discovery, it was time for competition, we began our 10-person ping-pong singles tournament in the atrium. With a few early upsets, the tournament was getting fierce. With one semifinal complete, we ran out of break time and headed back to the classroom.

Fresh from the atrium, we continued working with the breadboards, we utilized three FLIP gates, one XOR gate, and three LEDs. After some troubleshooting and consultation, we were able to mimic a field of eight elements with our breadboards. What we ended up creating was a random number generator. Mark shared a story of his friend who recognized the calculated randomness of playing a CD.

Our next order of business was to begin our discussion of the epic class project. Our end goal is to send a message on Discord using our breadboards, logic gates, and lots of wiring. With six groups in total: Index Register, Dereferencer, Software, and three LEDs, Mark gave the assignments. With their new groupmates, we began working on each portion of the project. We worked for about 45 minutes before it was time for lunch.

Once back from lunch, we started to get further into our final project. With great confidence and swiftness, students continued to amaze us with their skills. The software group completed a function that would send a message to Discord in Python. We decided a break was necessary following an hour and a half of working straight through, it was time to finish our tournament. With the eventual camper champion being Alex from Greece, we sure enjoyed competing against one another and enjoying the time together.

For the final hour of class, we continued to make progress. With 10 minutes left in class, we cleaned up and debriefed before dismissal. We hope to have an epic finish to our project tomorrow and send a message on Discord by 4:30!

-- Kahler

Friday, June 30, 2023

With the last day of the week finally underway, we got with our groups and got straight to work. The Dereferencer and Index Register groups finished early and began preparations for other portions of the project. The Software group was hard at work on their computers and on the Raspberry Pi utilizing their Python skills. The LED groups had some work to do and began debugging after the course instructors placed LEDs on their breadboards the night prior.

After an hour and a half of diligent work, we took to the atrium to hold our Doubles Tournament. Congratulations to Austin and Alex for winning the competition in a 10-team field. The celebratory drink was a fresh cup of lemonade.

Once back from our tournament, we all came back to the classroom to drive closer to our goal. With finished groups helping those who needed assistance, we made formidable progress. Before lunch, we heard a status update from the class. We then broke for lunch.

Back with lunch in our stomachs, we hit the breadboards with all hands on deck. With groups spanning the whole classroom, many self-discoveries and tough decisions were made. It was hard for some to part with their previous work, but in some cases we needed to restart to attain our goal. We worked tirelessly, helping each other in every way we could. At the end of the day, we had some Klondike Bars and Gluten-free watermelon pops to celebrate the end of week one, and voted unanimously to continue work on the Machine on Monday. What a great first week! Excited to see what comes of next week.

-- Kahler

Monday, July 03, 2023

After many stories of Cedar Point and the Detroit Institute of Art, we began class. Mark shared his recent innovation for the LED groups of the projects. We hope it will make designing circuits on the breadboards easier.

After this, we started our discussion of compression with a look at Morse Code. Then Mark put many different quotes on the board, each with a different compression scheme. Some we could figure out, and some we couldn't. We then broke off into groups. The task at hand was to encode our own message, using a group-specific compression scheme, and share them with other groups. We would wait until after our frisbee break to decode. Frisbee time!

We met Dr. DeBacker's Hex and the Four C's class on the diag for our inaugural ultimate frisbee match. With a final of 14 to 2, our Math and the Internet squad absolutely dominated with great teamwork and class. With a celebratory mixture of lemonade and limeade, we headed back to the classroom.

When we got back, it was time for some decoding. Some groups were able to decompress their classmates' messages. The other compression schemes proved too highly compressed for the messages to be recovered. Fortnite (and Kahler's ability therein) were definitely recurring themes.

Then it was back to work on our Magnificent Messaging Machine. We broke into groups and integrated Mark's new innovation in our LEDs groups. We worked for about 50 minutes before breaking for lunch.

With some fuel for the remainder of the day, we got back to work on our project. 15 minutes into our work, we got our first group of LEDs done! Ten minutes later, another group finished! We worked until about 3, then took a break. Some chose to stay in the classroom, while others decided to play SET, badminton, and ping pong in the atrium.

With everyone back, Mark challenged us to create a compression scheme for a language with six characters of different frequencies. After some deliberation, we began to share our ideas. Shreya was first up. With her method, she was able to have a bits per character (BPC) average of 2.28. Mark then asked, "Can we do any better?" Insung was up to the task and shared his proposal. After a tree diagram, we found that this method compresses at a rate of 1.89 BPC. With more consideration, we found that Insung's proposal was the most efficient method. Next, we broke out the colored strips of paper to try to systematically make themost efficient tree to compress with. We got about halfway through before we had to end for the day. More to come tomorrow!

-- Kahler

Tuesday, July 04, 2023

Good morning! Happy Fourth! Today we began by recapping our trees from yesterday. Then, we carried on to our next activity. To kick off the Hawaiian lesson, we passed out leis for everyone. With 13 characters, we used slips of paper to create a paper tree for the Hawaiian language. Once completed, we moved to paper and created a more traditional line-drawing of a tree. Students were then asked to create an encoding table and encode a message using the Hawaiian dictionary at hand. We shared our encodings with our classmates and began decoding. A majority of decodings were successful while some contained some errors. Following this, we headed outside to once again clash with Hex and the 4 C's.

We warmed up in the diag with some plyometrics, passing lines, and sprints to prepare. We once again were back in the winning column with a more competitive match with a final of 10 to 5. Instead of lemonade today; however, we reveled in our victory with some Hawaiian Punch, to fit today's lesson. Then, it was back to the classroom to cool off.

Once we got back, it was straight to work on our machine. We began setting up on the table nearest the podium with many hands on deck. With two LEDs completed, we began wiring things together while the software team tried wrapping up the code. It was then time for lunch.

With some sustenance to power through the day, we got back to the project. After about 50 minutes, and many rounds of testing... Guess what? IT WORKED! WAY TO GO GUYS! This was a great victory, and a high point of the class so far.

It was now time to learn about Lempel-Ziv compression. Olivia and Kahler worked through an example on the board of how to create their dictionary. Once a few questions were answered, we began working on our own dictionaries to share with each other to decode. With a little help along the way, we got on track and everyone was on their way to decoding. After many successful decodings, we headed to the atrium.

When we got back, we made up a silly function, f(x)=sin(3x-pi)/cot(x). Then we split up into pairs and calculated some numbers using 8 values of the function. Somehow Mark was able to use those numbers, together with some cosine functions, and find a simple function that closely matched the original.

Next, we began a discussion of sound, to be continued tomorrow. Class dismissed!

-- Kahler

Wednesday, July 05, 2023

Welcome to Day 8 of MMSS! To start today's class, we began talking about music. Mark first asked the class, "What is a musical note?". We started by taking a sample of sound, specifically a Concert A, from Olivia's electric guitar. Next, used a MIDI keyboard to compress the sound in what we learned to be a Fourier series. With a little time remaining before frisbee, we broke off into pairs to create our own secret codes.

When it was time for frisbee, we headed out to the diag. Today a third team came to play! THat means we have a league! We got to play two games: our first game was against Mathematics and Music Theory. With a final of 8 to 1, we continued our perfect season. After a break to spectate while the two others to reenergize, we played our third match against Hex and the 4 C's this week. By winning with a final of 3 to 0 we kept our record against the 4 C's perfect.

Once back to East Hall, we began decoding messages using all of the different codes. Some were able to be cracked while others left everyone stumped.

Today we switched it up for lunch. We headed to the Rock to paint it! To start, we covered the whole rock in a light blue. While we let it dry, we walked across the street and ate sack lunches from South Quad, delivered by Olivia and Kahler. After our meal, we went back to the Rock to make it our own. With a NAND gate, Hamming's (Sienna's) Code, many binary messages, and a big MMSS on the front, we all commemorated our work with a group photo.

Following our long and hot walk back to East Hall, Mark began our discussion about RSA encryption. Our first starting point was modular arithmetic. To gain a better understanding, we kicked off our topic with some mod 3 arithmetic tables. Once everyone had a grasp of the task at hand, we headed to the boards to do mod 4 to 13 arithmetic tables. Then, Mark began putting mod multiplication tables on the projector, asking for us to find any conjecture as to why the number 1 is found when multiplying certain numbers. Eventually, after staring at many examples, we conjectured that a number a has an inverse (mod n) if and only if a and n are relatively prime.

To take a quick brain break, we played some ping pong and badminton in the atrium. After our break, Mark asked for all pairs to pick a number from 2 to 32. Consequently, we began our process of doing RSA Encryption ourselves. Our first task was to compute the cube of our number (mod 33). Next, we took our previous value to the seventh power, also in mod 33. Once they had all been computed, Mark revealed the original messages, and we found they were the same as our computation! In other words, if M is the message, then Y=M^3 is the encrypted message, and Y^7 is the decrypt, which is the same as M. Mark explained to us how this is RSA Encryption. He further explained how 33 and 3 are our public keys and 7 is our private key. This shows how we send messages on the internet. Mark then asked, "How do we pick the numbers?", "How secure is it?", and "Why does it work?"

Finally, we defined a group and considered some examples. To wrap up the day, we worked on the group of rotations of a mattress: the identity, roll, yaw, and pitch. More groups to come tomorrow! What a great day!

-- Kahler

Thursday, July 06, 2023

Today is our last full day! As soon as the clock struck 9 AM, we began with a recap of RSA encryption and what a group is. Then, we began work on the Euclidean Algorithm. What we came up with was an efficient method of finding a greatest common divisor. Then we worked the algorithm through a different way, and found that we could always find a way to make the gcd out of the original numbers.

As today was our last full day, it was also the last day for frisbee :(

We clashed with Hex and the 4 C's once again and walked away victorious, winning by a score of 6 to 1. It was now time to bring out the brooms as we swept them 4-0 for the title of best frisbee class for Session 1 of MMSS. With one last jug of lemonade shared, we bid farewell to our friends from Hex and the 4 C's and headed back to East Hall.

When we got back, Mark began running through a proof about groups. The conclusion we were drawn towards was that if H is a subgroup of G, then the size G is an integer multiple of the size of H. Following our discussion, we broke for lunch.

After lunch, we came into the class with a mysterious board of chocolate at the front of the classroom... Mark then began showing the steps of how RSA works and why it uses prime numbers. Our next question to answer was, "How do we keep it secure?"

To work towards an answer, we broke off into pairs to encrypt our own messages using RSA.

We worked for about an hour and a half before we took a break. After the break, we continued to work on our encryption. A few pairs were even able to decrypt! It's sad that it is the last full day, we have a full day packed in a half day ready for tomorrow.

-- Kahler

Friday, July 07, 2023

On this, the final day of the session, we presented the students with a set of 13 challenges based on the things we've learned in class over the last two weeks. It was a lot of material! The challenges covered

All of the challenges were solved correctly, and led to one big answer. Afterward we had a little awards ceremony to celebrate the end of the session, and students asked questions that we answered honestly.

It's been a packed two weeks! We hope the students had as much fun as the instructors did.

That's a wrap!

-- Mark