Murphy’s Law Strikes

In preparing for battle I have always found that plans are useless, but planning is indispensable.

–Dwight D. Eisenhower

We’ve officially made it through the first two days of camp! It has been an exhausting two days, but I’ve really enjoyed getting to know our students, and we’ve accomplished a lot already.

Classroom all set-up and ready to go!

On day 1, Emily spent the morning teaching the students basic English words like “help” and “repeat.” Most of the students were already familiar with the words, but they seemed to enjoy playing our word games anyway. We played a modified version of tag that transfers the role of “it” to different players when various vocabulary words are said aloud.

I also got a chance to practice the four sentences of Korean that I knew! Apparently, the question “Do you need help?” sounds pretty similar to “Do you need money?” because the students gave me confused looks when I tried to ask them if they needed help. On the bright side, I quickly learned how to say, “I need money,” which could be useful in the future 😛

For lunch, we had soondubu (tofu soup) at a nearby restaurant.

Soondubu for lunch

In the afternoon, we whipped out the Raspberry Pi computers, and Emu walked the students through an activity using the Google Voice Kits. Although we had some issues with slow wifi, it was cool to see how excited the students were when they finally got their Voice Kit working. The Voice Kit mimics Google Assistant and can answer questions preceded by the phrase, “Ok, Google.” If only we could get Google Assistant to work in Korean without too much hassle… that could be a task for the team next year 🙂

Classroom after the Voice Kit activity

As soon as class let out and the students left, our team started preparing for the next day’s activities. There was a slight blip in our supplies ordering process, so we were short on Raspberry Pi cameras. Shine and I dashed to Leocom (part of Yongsan Electronics Market) and bought their last Pi camera in stock. We made it to the store fifteen minutes before closing time, so we were very proud of our accomplishment. I think this was our fifth consecutive day in Yongsan. We’re so familiar with the area at this point that we could give tours of the place.

Just after buying the last Pi camera from Leocom at Yongsan Electronics Market

On the way back from Yongsan, I used my expert skills at spotting the word 약 to find a pharmacy for Shine. I was very proud of myself. We also picked up fried chicken for dinner from BHC, which was delicious.

The rest of the evening consisted of heavy-duty preparation for day 2. We had a detailed day 1 debrief where we discussed each of our students and assessed their English and STEM abilities. I was dead tired at this point and lying on the ground, but for what it’s worth, I think we did a pretty good job of evaluating our students’ strengths and weaknesses based on a day’s worth of interactions with them.

The objective of day 2 was to introduce the students to computer programming. I was in charge of both the morning and the afternoon, so I was pretty stressed out all day. The morning went better than I imagined. I taught the students how to play hangman, and they seemed to really enjoy it.

We then moved down to the computer lab, and I had the students work on drawing pictures using a block-based programming language that could be set to English, Korean, or Chinese. I wanted the students to focus on computational thinking instead of getting caught up in programming language syntax or the language barrier, so the Turtle Blockly-based game worked perfectly. I was super happy to see how much a lot of the students enjoyed it. Some of our students who weren’t as engaged yesterday actually showed interest in programming, which was wonderful to see. After the block-based programming language, I switched the students over to some basic Turtle programming with Python. Many students picked it up quickly, though to be completely honest, the programming was still very basic.

Sitting in front of a computer for a long time is very energy-consuming. When it was clear that the students had checked out and were having trouble concentrating, we moved back to the first floor and held a hangman competition. It was awesome to see students who participated less frequently actually volunteer to choose words for their team. Some even used dictionaries and the Internet to find new words that they thought would be difficult. For a game that we introduced somewhat by chance, it certainly helped us achieve many of our objectives.

They ran out of lunch for me and Shine, so we ended up grabbing katsu from the restaurant next door. Apparently, the restaurant had been featurd on television in the past and was visited by numerous celebrities.

Katsu for lunch

Murphy’s Law struck during the afternoon. Everything that could have gone wrong went wrong, but I did my best to alleviate any problems that arose.

As part of the Voice Kit activity from Day 1, we had flashed the Raspberry Pi SD cards with a special Voice Kit image. This specific operating system was based on Raspbian but had some additional scripts pre-written for the Voice Kit activity. Because it looked so similar to the default Raspbian distribution on the official Raspberry Pi website, I assumed everything would work fine if we reused the Voice Kit image for the remainder of our activities.

I was wrong. The official distribution of Raspbian has an application called Sonic Pi pre-installed. However, as it turns out, the Voice Kit image does not have Sonic Pi installed. The entire afternoon was dedicated to working with Sonic Pi, which is obviously impossible without the software. We had all the kids open up a terminal window to download Sonic Pi from the internet, but because of the unreliable wifi, it took a really long time for the software to download.

Somewhat fortunately, I had an extra activity from the morning that did not rely on Sonic Pi. It involved playing a game that is meant to familiarize people with basic terminal commands. It was definitely not a crowd favorite, but at the very least, it probably made the terminal seem less daunting to the students. I don’t expect any of them to actually remember the commands, but next time they use the actual terminal on the Raspberry Pi, they will have some idea of what each command does.


The problems didn’t stop after Sonic Pi finished installing. Sonic Pi is a programming environment that allows users to create music by writing lines of code. Obviously, it would be nice to hear the music that you create, but (not so) lucky for us, the audio jacks on the Raspberry Pis were not working. I ended up telling everyone to reuse the Voice Kit hat from yesterday, which sent audio output to a speaker.

Speaker from the Voice Kit

At that point, I was pretty stressed out because of issues with downloading Sonic Pi and getting audio playback to work, but I think the students who got it working, in the end, had a fun time. When I got back home, I wrote the code to play Yiruma’s River Flows in You using Sonic Pi; I plan on showing it to the class today to convince them that programming using Sonic Pi is pretty cool after all.

After our team debrief, I spent the rest of the evening trying to troubleshoot the audio situation on the Raspberry Pi. Apparently, the Voice Kit image not only had additional scripts pre-written, but it also had special audio settings to make the Voice Kit Hat + speaker combination work. Those audio settings redirected the audio output to somewhere other than the audio jack. Instead of fiddling with the Voice Kit image, I decided to flash all the Raspberry Pi SD cards with the official Raspbian image with all the default settings.

Easy enough, right? No. It took me 3.5 hours to simply download the Raspbian image (1.7 GB) from the internet. It also didn’t help that I accidentally put my laptop to sleep halfway through the first attempt, which meant that I actually spent 5 or so hours waiting for the download to finish. By the time I finally got around to flashing SD cards, it was already past midnight. I am so grateful, though, that everything after that went smoothly.

All in all, I think our preparation has been super useful. We’ve had to deal with unexpected problems—I guess that’s what you get when you have unit tests but no integration tests—but we resolved them with as much grace as we could muster. We continue to spend our evenings frantically preparing for the next day’s activities, and I’m confident that the additional preparation will pay off even if things don’t go as planned.

Evening preparations

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s