Cracking the Code, Creatively

In today’s world, nearly everyone uses digital technology, yet only a comparatively small number of people know how to program the code that makes that technology work. Science teacher Michael Schlenker is looking to change that.

This summer, forgoing sandy beaches and other warm-weather pursuits, four motivated Rivers students spent a week learning the skill of programming, because, as Schlenker put it in his introduction to the class, “Once you learn to program a computer, the possibilities are endless.”

As part of the Rivers Summer Programs, Schlenker runs an intensive weeklong computer programming class for students in grades 9-12. The course is designed to teach the framework of the computer language Java, so that students can ultimately code their very own digital game.

This year’s class began like any other, with desks set up in a welcoming semicircle. Schlenker whetted the students’ appetites with his favorite famous news stories, quotes, and statistics relating to programming. He pointed out the role of machine learning in the recent Robert Mueller report, noting that Facebook helped Mueller quantify 127 million Russian impressions on American voters by identifying the Russian ads that arose on American screens. He had the class hooked.

Schlenker compared learning code to learning a language. However, instead of using words, computers use nuanced symbols in long strings that yield a multitude of potential meanings. For beginners, learning code is akin to language immersion. Difficult as it might be to, for example, travel to Spain with no knowledge of Spanish, taking a dive into an unknown culture can teach more than just the language. Similarly, learning coding requires a leap of faith, but it rewards persistence.

Like writing an essay, all computer programming starts with a question, and the strength of the code becomes apparent in the output—the answer to that question. Schlenker recognizes that students can become frustrated because, unlike an actual essay, the Java screen displays seemingly indecipherable sentences. However, the binary quality of coding makes for clear-cut distinctions between right and wrong; the problem-solving is exciting, and good coding requires creativity.

Acknowledging the difficult nature of the content he teaches, Schlenker uses humor and out-of-the-box references in his classroom to lead students to answer their own questions. One student, Andrew Young ’23, asked a question about his array, which was not functioning correctly. Schlenker peered over his shoulder and grinned. Instead of answering Young directly, he asked, “Well, how do you eat an elephant?” Andrew’s frustration melted warmly into a smile and his fingers clicked away at his keyboard.

Interestingly, Schlenker says, “80 or 90 percent” of his class is typically made up of kids without backgrounds in math or science, most of whom have no programming experience and might not know whether they like it or not. There is space here for all creative thinkers and problem solvers. Students are inspired by a drive to create their own games, and in the classroom setting, kids can experiment and explore. “Games,” Schlenker says, “are a fun introduction to the more complicated aspects of computer science,” and many students seem to agree, as next year he will fill two AP computer science classes and another second-year-level course that covers machine learning. This summer class’s introduction to code is only the tip of the iceberg.

In the classroom, code gives way to machine learning, and Schlenker’s brief intro has all of the students in thrall. Students perch on the edge of their seats as he describes how driverless cars utilize computing patterns to learn to navigate roads with minimal risk. The students’ brows furrow when Schlenker asks them, “Who is to blame when the car does crash?”; the group is puzzled and intrigued by the broader implications.

Schlenker also spoke of a doctor who theorized that computer scientists will likely cure cancer, because human scientists have trouble processing big data on their own. Though his summer class is for beginners, Schlenker does not shy away from asking the big questions, and he challenges students to do the same. Regardless of their background or level of interest, all students leave with skills to tap into a kind of creativity that is important and relevant. Code, for Schlenker, is an all-encompassing study of language, art, science, and math that ultimately allows people to connect with one another to better the world. Who knows? Maybe someday, one of these coding students will be the one to cure cancer.

—Joelle Mentis ’18