Dustin's Blog

Dustin Stabinski is the Undergraduate Student Instructor for Math and the Internet this summer, and he will be blogging about what we do in class each day.

Sunday, July 07, 2019

It's the 0th day of Math and the internet! We call it that because clearly tomorrow, Monday, is the first day, and this is the day before that. And because we're not sure if it counts.

We met today in the lower Math Atrium at about 4:15, after everyone had checked in and Mary had spoken an introduction. Then we all walked up to Room 3088 East Hall, which will be our home for the next 2 weeks. Berkan and I gave a brief overview of the course, and then we all introduced ourselves and said something interesting about ourselves.

We had time for one puzzle, the hat game, and then a brief tour of the website, before we had to go. The rules of the hat game are:

  1. Everyone must face forward, so they can see the people in front but not the people behind.
  2. Everyone is wearing either a maize or a blue hat. No one can see their own hat. Any ordering of hats is possible; for instance they might be all maize or all blue.
  3. Starting at the back, people guess their own hat color. They may not transmit any information other than their guess; for instance they may not alter the tone of the answer or touch the person in front!

The goal is for as many people as possible to guess their hat color correctly.

While looking at the website we saw that it includes a "twenty questions" game. (Twenty questions is a game that people tend to play in the car to pass the time; one person thinks of a person, place, or thing, and others ask yes-or-no questions to try to guess it. It's not clear why this is on our website, but we saw that it has the ability to grow to include anything we'd like to add to it. I encouraged everyone to play.

We are off to a good start!


Monday, July 08, 2019

Today is the 1st day of Math and the internet! Today's focus revolved around binary numbers and error correcting codes. Before that, though, we reintroduced the hat game from yesterday as well as a new puzzle. In the new puzzle, Mark presented 6 cards with seemingly random numbers on them. The students would silently choose a random number (0 through 63), and then tell Mark on which cards their number appeared. With that information, Mark would be able to tell them what number they had chosen. Later in the day, we solved these puzzles using binary numbers (for the card trick) and parity check (for the hat riddle). We also learned how to do addition and multiplication on binary numbers.

In the morning, we went over to the Diag to play a game of ultimate frisbee. Mark brought out lemonade for everyone, and then we headed back inside for class. Before lunch we talked more about binary and ASCII.

After lunch, we worked on error correcting codes. We discussed the possibility of errors occurring when messages are sent between systems. Our job was to figure out a method of sending messages that assures those errors can be corrected. By the end of the day, we were able to efficiently and effectively send theoretical messages that were able to be error-corrected!

Overall, we spent a lot of time in groups completing the problems. Some of the problems were quite difficult, yet very rewarding. We're all looking forward to day 2 tomorrow!


Tuesday, July 09, 2019

Today we thought about the Hamming code for n bits and learned the precise relation between the number of parity bits and the length of the message we send using the code. We argued that the Hamming code is a perfect code. For extra culture, we mentioned the relationship between coding theory and sphere packing problems.

Afterwards, we had an introduction to abstract algebra, wherein we identified certain properties of reals that would be nice to have in a general setting, and constructed an eight element collection that had those properties. We applied the ideas developed to discuss the Reed-Solomon error correcting code.

Everyone coded a 2 character message in Reed-Solomon, which we then decoded using a computer program designed to do the decoding process "the long way," which we discussed. Despite the length of the messages, many laughs were had.

After this, we talked about what brought Google to the top: the Page Rank Algorithm. We did this by analogy to a Frisbee game, where all people had a set of probabilities assigned for whom they might throw the Frisbee to next. That led us to the idea of a Markov Chain which approaches a stable state, which is the idea behind Google's original algorithm.


Wednesday, July 10, 2019

That's a wrap on Day 3 of Math and the Internet. Today, we had a very interactive and rewarding day. We started the day learning about Boolean logic. We worked on a couple worksheets in groups. After some practice, we all felt pretty comfortable with our logic. Before we applied our new knowledge, we went outside for some frisbee.

The Games class joined us for a giant game of ultimate frisbee. Some of us decided to just relax, toss the frisbee around, and enjoy the nice weather. We all had lemonade and headed back inside to continue class.

When we got back, Mark gave us a short introduction to electricity. Now knowing about logic and electricity, we were able to start wiring our own machines. We all received workstations, breadboards, wires, resistors, and transistors. Mark gave us diagrams on the board which we wired on each of our stations. In turned out that each of the diagrams represented a different Boolean logic gate. Now it was time to go one step further.

Now knowing how to apply Boolean logic with logic gates, we began working on binary calculators. We all were able to get our machines to add two bits and spit out the correct answer. Some groups moved on to add three bits together, and then two bits plus two bits. Shout out to Anand, Daniel, and Doyoung's group for making it all the way to four bits plus four bits!

It was a great day and, by the end, we all felt very accomplished. We're looking forward to getting back to the workstations to take our project one step further!


Thursday, July 11, 2019

Day 4 of Math and the Internet is a wrap. We started our day by learning about memory. Using a circuit consisting of looping NAND logic gates, we figured out how to store data! This took up our time during the morning lecture. Then, as usual, we headed out for some frisbee with the Games and Art classes.

When we returned, Mark revealed the final big project of the week. We will be making a machine that will utilize all our hardware plus a Raspberry Pi to send a message on the internet. Specifically, we will be sending a tweet along with a picture which we will get from our twenty-questions database (introduced on the 0th day of class). We broke up into 4 teams:

1. Software: Ishika, Daniel, Jack

2. LEDs: Will, Libby, Huan, Alex, Michael, and Jozsef

3. Index Register: Michelle, Anand, and Kai

4. Dereferencer: Arthur, Jimmy, and Doyoung

The software team will be writing the code for the Raspberry Pi. The LED team will be using logic and wiring to visually represent our data on 7-segment LEDs. The Index Register team will be creating the logic to tell the machine the location of the bit being transmitted, and the Dereferencer team will tell the machine what that bit is. We are busy at work and hope to have a working machine by tomorrow afternoon!


Friday, July 12, 2019

Just like that, our first week of Math and the Internet comes to an end. Today was a very busy day. Yesterday, we started our Magnificent Messaging Machine project in the hopes that, by the end of today, we would be able to send a live tweet out into the internet.

Everyone arrived a little early to class today as we were very eager to get started. We assembled into our groups, grabbed our work stations, and got right to work. By 9:30, the floors were covered with wires, heat emitted from our workstations, and the sounds of the software team clicking at their keyboards filled the room. We continued to work until 10:30 when it was time for frisbee... but nearly everyone wanted to keep going! A few of us took a breather outside, but most of us stayed inside and kept on working up until lunch.

After lunch we all came back and got right back to work. Overall, our day was filled with highs and lows. The smiling faces of the students who had just gotten rid of a bug were matched by the frowns of those who had just discovered one. Around 4:00, mild fumes filled the air. A small error had caused a short circuit which resulted in some of our chips frying. Despite our thermal issues, we kept working. Unfortunately, 4:30 struck and the machine had yet to be finished. Twitter will, sadly, be one tweet empty tonight. But, we vow to persevere! We learned a great deal, and we will fight on next week. Success is upon us, but now it is time to take the weekend to rest. We'll see you on Monday!


Monday, July 15, 2019

After a nice weekend, we were all eager to start Day 6 of Math and the Internet. We had several goals today some of which being to talk about compression and to try and finish the Magnificent Messaging Machine. We started today by talking about compression.

Mark began the discussion by talking about Morse Code. This led to us talking about more about communication. Specifically, we discussed how we use Morse Code to talk with each other as well as how we would go about talking to aliens. Then, we went through some examples of how we could compress English sentences to save space without losing the sentences' meanings. This led to us creating our own compression schemes and having our neighbors try to decode our compressed messages. Then, it was time for frisbee.

After playing frisbee, we came back to finish our discussion of compression. We, then, planned out the rest of the afternoon. Our goal was to finish the Magnificent Messaging Machine. After creating our goal, we broke for lunch.

When we returned, we spent the whole afternoon working on the machine. We spent an hour or so in our teams finishing up our work before merging the tables and trying to put the whole machine together. Everything seemed to be going well, until we discovered some new and gruesome bugs. These bugs, although nasty, did not wreck our confidence. We kept on working until the very end, but the machine has yet to be completed. We are losing time, but we will do all we can to get it working tomorrow. But until then, it is time for some rest.


Tuesday, July 16, 2019

Aaaaand we're back to Day 7 of Math and the Internet! We got through a lot of information today which is great! We concluded yesterday's lectures with Berkan's lecture on Fourier series. After delving into the formula, Mark stepped in and talked about its applications with music. But before getting too into it, we had our morning break. Unfortunately, because of the weather, we had to have our break inside today. We still had a great time hanging out in the math atrium playing foosball while some of our musically talented students played the piano for us. Then, we headed back to class.

Once we were back in the room, we made the connection between music and Fourier series. We defined a music note as a collection of frequencies. Using that information and a program on Mark's computer, we created synthetic instruments from both an acoustic ukulele and Jack's voice. Eventually, we were able to use our synthetic instruments to play the University's fight song. Afterward, we compressed an image using Fourier series which led to our next topic which we started after the lunch break.

After lunch, Dustin lectured on the Lempel-Ziv algorithm (a method of compression). From there, we talked about compressing natural language. We discovered that in order to do so, efficiently, we could use Huffman encoding. This involved us looking at the frequency of each letter in the alphabet and creating a tree which output a code used for compression. Instead of creating a tree for English, we decided to use a language with fewer letters. We decided to go with Hawaiian and, thus, Mark proclaimed today "Hawaiian Day". We spent the rest of the day creating Huffman trees, encoding and decoding messages, and listening to Hawaiian music (all while wearing leis). Tomorrow, we will begin our discussion on cryptography, but for now, it is time for some rest.


Note: The MMM is still awaiting completion. Soon, we hope!

Wednesday, July 17, 2019

That's a wrap on Day 8 of Math and the Internet. I started us off today with a lecture on the Extended Euclidean Algorithm. Then we broke up into groups to do some practice problems. After everyone got the hang of it, Berkan introduced everyone to Group Theory. After talking to them for a little while about the topic, we took our morning break.

Because the grass was still pretty wet from last night's storms, we went back to the atrium to play foosball and table tennis. Some of us decided to play music for the rest of us on the piano. After half an hour or so, we headed back to the room.

When we returned, Berkan concluded his lecture on Group Theory and gave everyone a worksheet for some practice. Everyone was very determined to get the worksheet done before lunch. Everyone was so determined, in fact, that they continued to work on it past noon. But Berkan, Mark, and I got too hungry so we had to kick everyone out. Berkan reminded them that "they can't think on an empty stomach" as they left the room.

When everyone returned, we finished up the first worksheet and moved on to a second one. We spent a while on the worksheet. Berkan and his father also passed around homemade brownies that Berkan's Mom had made. With about 45 minutes left, Berkan concluded the day by going over the worksheet and giving some closing, and pretty funny, thoughts on Group Theory. We are looking forward to our cryptography smackdown with the other class tomorrow, but for now, it's time to get some rest.


Note: Mark got the Index Register working last night, and will try to assemble more parts of the MMM tonight. Stay tuned...

Thursday, July 18, 2019

Just like that, we are on our second to last day of Math and the Internet. Mark started the day by talking about the transformation group of a Rubik's cube. This led to a discussion about RSA, one of the most, if not the most, important encryption methods used on the internet. Mark did an example of RSA on the board and then, he turned it over to Berkan who talked more in-depth on the subject. Berkan started by discussing the history of cryptography. Then, he talked about the concept of RSA. Before he could go any further, though, it was time for our morning break.

The rain was gone! We could finally go back out onto the Diag and play some frisbee. It felt great to be back outside. We stayed out there for about half an hour before heading back in to talk more about cryptography.

When we got back, Berkan finished explaining RSA. Mark, then, explained how everything we have learned this week had led to the creation of RSA. It was a lot to take in. Unfortunately, before we had the chance to do an example of RSA, we broke for lunch.

After lunch, we did a few examples of RSA encryption and decryption on the board. After a while, it started to click. It was time to put our knowledge to the test because another MMSS class had challenged us to a cryptography smackdown. The way that worked was we would each encrypt a message, exchange them with each other, and then crack the code and decrypt their message to see what we they had to say. We were able to encrypt and decrypt two messages. What they sent us was, basically, trash talk... emphasis on the trash. There was no real winner, but by the end of the activity, everyone got pretty good at encrypting and decrypting.

We have an intense and fun day in store for everyone tomorrow. So it's time for some rest to prepare for the final day of Math and the Internet!


Note: Mark rebuilt the Dereferencer last night, and will debug it tonight. Stay tuned!

Friday, July 19, 2019

Today was our final day of Math and the Internet which means it was challenge day. Mark introduced the class to a set of 13 challenges. Each challenge referenced a topic that we covered at some point over the past two weeks. Mark also included a bonus challenge which was, you guessed it, to FINISH THE MACHINE!!!! Everyone got assigned to a challenge and we got to work.

One hour in and we were about halfway done with the challenges. Soon afterward, Mark told everyone to stop what they were doing. It was time to test the Magnificent Messaging Machine. Everyone's eyes were on the screen in front of the room. We anxiously waited in silence for a few seconds. And then, there it was: a tweet! The Machine had finally worked!!! We did it!! It was a long and tough process but we finally did it. We celebrated for a little while before returning to our challenges. The day was not over yet.

Two hours in and we were just about done with the challenges. We had written down all the answers on the blackboard. Now, all we had to do is decode the final message which was encoded in our answers. Ishika and Arthur took lead and wrote down the decoded message which read "4m4z0n4u" (Amazon for you). I, then, grabbed a box which had been sitting outside for a little while and we started with our "closing ceremony".

In the box were collection of books that Mark, Berkan, and I had personally selected for each student. Each student received a book that catered to their interests or gave them some new concept to think about. Along with each book was a certificate of completion. We, then, all said our goodbyes.

Overall, I think it has been a fantastic two weeks. Each day had its highs and lows, but overall we accomplished a great amount. I think that every student left with a new skill or lesson learned that we hope they will carry with them for years and years to come. From Mark, Berkan, and I, thanks to every student who was a part of our program this year. It has been a pleasure.