“What about a QR code?” he said as he sat adjacent to me at our hexagonal tables. He continued to look at me tentatively, almost as if he had said the “wrong” answer. I’ve always been a painfully transparent person–the kind who wears his emotions on his sleeve–so he was probably responding to the blank stare on my face, only coming as the result of the many four-word expletives that were running through my mind.
Well, how the hell am I supposed to help him with that? I thought.
Simultaneously, however, I thought about the purpose of these projects on which we were about to embark. They were about inspiration, about passion, and about challenging ourselves to do something interesting, to face failure head on and to develop the grit and persistence to work through it, to make mistakes with the understanding that it would be the only way we’d learn anything.
“Alright,” I replied to him. “I don’t know anything about that, but I’ll do what I can to help you. Where should we start?”
We got out his kan-ban board and began listing off some steps, the first of which would be to do some research on how QR codes work. It didn’t take long before we found a YouTube video that explained how to decode a QR code by hand. I noticed, too, that all it required was an excel sheet, much to my surprise. He watched the entire video, start to finish, all twenty minutes of engineering and computer science jargon, much of which I’m sure went right over his head.
But nonetheless, he persisted, finishing the video. Together, we brainstormed some more steps, including learning how to use Google Sheets, and learning more about powers of two, which was, unbeknownst to me, something you need to know when making a QR code. But that was the beauty of the entire process: while my student was learning a lot through experience, I was able to learn alongside him, modeling the grit, problem-solving, and persistence needed to accomplish something challenging in a really authentic way.
After that, I set him up on Google Sheets, helped him navigate some of the basic functions, and off he went. He was filling in boxes for the anchors, counting squares and determining the appropriate sizes and areas of the different patterns, until he finally began working on the code itself.
And this was the part where I was absolutely blown away.
The message within the QR code consists of a zigzag pattern, each character of the intended message created by a combination of the powers of two that create an alphanumeric code within an 2-by-4 area of boxes. Here’s an example from Wikipedia:
As you can see in this example, this QR code would direct the user to http://www.wikipedia.org, due to the arrangement of the boxes and the encoded letters within each 2-by-4 rectangle. My student created a different message, though–a much cuter one.
The first character within my student’s message was the letter “i.” In order to do this, he had to first input his message length (8 characters, outlined in red) and then refer to a chart that provided the sums necessary to provide the desired outputs–in this case, 73 was the desired sum for the letter for “i” (outlined in blue). Then, he had to fill in a combination of the 8 boxes that would then add up to 73 (64 + 8 + 1). He proceeded to do this until the entire message was filled in.
And then he ran into some trouble.
He noticed that the remainder of the QR code required some pretty complex mathematics in order to fill in the “error corrections,” something I knew he wasn’t ready for, and quite frankly, something I wasn’t prepared to teach. So, in order to finish this, I called upon one of our engineers to help him get the error corrections into his QR code.
The ending result? A working QR code, a sense of accomplishment, and a lifelong lesson about persistence, grit, failure, critical thinking, teamwork, leveraging others’ expertise, and the never-ending desire to pursue challenge in the interest of bettering ourselves, and of course, learning.
Be sure to scan the code. It’s humbling how much work went into that teeny tiny message.