Written by Jason Oswald, Computer Science Department Chair
Computer Science Education Week is an annual call to action to inspire K-12 students to learn computer science, advocate for equity, and celebrate the contributions of students, teachers, and partners to the field.
The second week of December is busy time in the life of a school. If terms aren’t wrapping up, and holiday celebrations aren’t happening, then there are certainly other events going on. Here at GA, Founder’s Day, Design Day, the Beam Raising, Middle School concerts, House events, and countless other magical moments all happened during the prescribed CS Ed Week (December 5-11).
The reason we celebrate at this time is to honor Grace Hopper, her legacy, and her contributions to the field of Computer Science that are foundational elements to modern programming. What really distinguishes her for me, though – and indeed likely why we celebrate CS Ed Week in her honor – can be summed up with this quote:
The most important thing I've accomplished, other than building the compiler, is training young people. They come to me, you know, and say, 'Do you think we can do this?' I say, 'Try it.' And I back 'em up. They need that. I keep track of them as they get older and I stir 'em up at intervals so they don't forget to take chances. – Grace Hopper
It is in this spirit of creativity and resilience that Germantown Academy celebrates CS Education Week.
The primary activity this year was built upon a classic unplugged activity called Muddy City. In essence, the residents of Muddy City have a bunch of dirt roads that need paving, and they are interested in connecting all the houses as cheaply as possible. This fun activity hides an introduction to Graph Theory and some of the attendant problems in that particular field. Younger students first connected the houses, then tried connecting them with as few connections as possible, and then iterated to account for the varying costs of those connections– creating what is known as a Minimum Spanning Tree. We then tried to understand how we were able to create this; what steps did we take; how could we explain this to someone else? In other words, what was the algorithm? How could I explain this to a computer, so that when we are dealing with a million connections instead of just ten, we can solve that problem, too?
Muddy City gave way to talking about the board game, Ticket to Ride, which is another hidden Graph Theory problem, as well as a wonderful game. Certainly, you could use what we just learned in Muddy City to find the minimum spanning tree for the cities in Ticket to Ride, but in the game, you want to find the shortest path from point A to point B. As humans, we can spot the shortest path, or one extremely close to it, in a matter of moments, using contextual information like the geography of the country and the direction of the path. A computer looking at the same problem would have no such information. How, then, do we explain to the computer how to solve this problem? Or the problem right next door to this problem: how can I most efficiently visit a whole series of cities. This is known as the Traveling Salesman Problem.
Versions of these problems crop up all the time in logistics, bioinformatics, and manufacturing: how can I minimize the distance a certain part of the machine has to travel, given that it must touch certain spots? Being able to describe an algorithm that doesn’t rely on a human’s ability to utilize context clues is a foundational element of Computer Science.
The primary deliverers of these lessons were Upper School Computer Science (CS) students. There is a special joy in seeing these interactions happen – and watching them practically skip across Connor Quad to revisit previous classrooms, former teachers, and younger siblings. The older students have such an excellent and unique way of working with the Lower Schoolers and the energy that this produces is electric. Students worked together to puzzle out the best way to solve whichever problem they were working on. "Try it!" And finally, they’d proudly display their completed maps with the Upper Schoolers matching their energy beat for beat.
In other areas, 9th graders met during Community Time. Advisors shared some information about the week and who Grace Hopper was, before presenting some choices about their next activity – "Try it!: By far the most popular choice was a walkthrough of a tool developed by Georgia Tech called EarSketch, which combines music-editing software with coding in a fun and interesting way. Ms. Caramanico’s students seemed to have quite a time with it as they programmed their beats and mixed samples of current popular music together. Students could also learn how to code using a progressive programming language called Hedy, or start prototyping their apps for Digital Wellness.
Finally, we had a few guest speakers come and talk to Middle and Upper School students throughout the week. Our first speaker was Professor Hank Korth P'09 '12 from Lehigh University. He spoke about what CS was like at the college level, what the program at Lehigh was like, and his current work with the “interdisciplinary team spanning computer science and business” called Blockchain @ Lehigh. We were also joined by two recent alumni, Kevin Cui ‘21 and Casey Traina ‘22. Kevin is currently a sophomore at Cornell and Casey is wrapping up his first term at Stanford. They each spoke about the CS programs at their school, the classes they’d been taking, and showed us some examples of what they’d been working on before opening the floor to a variety of questions relating to their GA experience, college, and technical CS things.
So from December 1 to December 15, we made space for students to try it. They tried making the residents of Muddy City less muddy, and then they tried to do it efficiently. They tried to discover how to explain to a computer what the shortest way to get from point A to point B is (in Computer Science, it is hardly ever a straight line) and they tried to make music like a DJ. They heard from GA community members who have been learning it, teaching it, living it… trying it.