More than 20 students are exploring the art and science of computer programming in “Introduction to Programming” and “Software Design,” two electives launched at Blair this year. Led by computer science teacher Michael Garrant, an electrical and software engineer with nearly 30 years’ experience in business and industry, both courses familiarize students with coding concepts and give them experience solving problems through “computational thinking,” a skill Mr. Garrant sees as essential in the modern workplace.
No Experience Necessary
Freshmen through juniors who are new to coding enrolled in “Introduction to Programming,” a semester-long course that ran last fall and is underway again this spring. After learning the building blocks of programming—conditionals, variables, functions and iteration—students began to work with software to produce a program or “script,” which Mr. Garrant defined as “a sequence of instructions that produces something.”
“I discuss a problem we need to solve—whether that’s making an image of a turtle move back and forth across a screen or creating a piece of fractal art—and then we utilize the tools available in our programming language to work on it,” Mr. Garrant said. Fall-semester students used a version of Scratch, a language developed at the Massachusetts Institute of Technology Media Lab, while spring-semester students are using Microsoft’s Touch Development, a visual and text-based programming environment. Learning is self-directed as students employ online tutorials and examples to build their scripts, while Mr. Garrant serves as a resource and director who guides student work.
Carmen Liuzza ’20 has been teaching himself programming via YouTube videos and web forums for the past few years; he decided to take “Introduction to Programming” to expand his knowledge. “I am really enjoying the class,” he said. “I especially like how we work on the same project individually, then collaborate to help each other out.”
His classmate, Pierce Forte ’18, was introduced to coding in middle school and has rediscovered this “intriguing and fun” activity in Mr. Garrant’s class. “My favorite project so far involved creating a realistic chat bot,” he said. “Each student uniquely applied programming skills to code something that could actually respond in ways a human might—this was really cool! Programming is a great skill to learn, and I recommend this class to any beginners who are eager to code.”
Mr. Garrant noted that the most important goal of “Introduction to Programming” is not necessarily to learn a specific programming language. “It’s about thinking critically, logically and sequentially, and recognizing when and how to use the elements of variables, conditionals, functions and iteration to solve a problem. I hope once students develop these skills, they’ll use them in other classes and activities, too.”
Programming with Python
Programmers seeking a more in-depth experience had the option to enroll in “Software Design,” a full-year elective that allows students to explore coding using Python, a programming language commonly used in business and industry. Currently, the six classmates are working in teams on data visualization projects that require analysis of large datasets and the creation of infographics that present information in a logical and understandable way. One team is working with stock market data and the other is working with Blair website analytics data.
“This project is all about taking big data and making sense of it,” Mr. Garrant explained. “Students are using the Python programming language to capture, analyze and organize enormous amounts of data and then present it in a graphical way that—we hope—really clicks with their intended audience.” The scope of students’ work goes well beyond programming: They have had to interview their “customers;” identify needs; and perform research to make sure they are creating the right product.
Junior Ronan Smarth ’18 is part of the website analytics data team whose goal is to create “beautiful infographics” to assist the admission office in tracking prospective student interest. “I came into this class not knowing one thing about programming, but within a month I was able to code simple games,” Ronan said. “I’ve found the possibilities of computer science and coding especially interesting, and I’ve realized that I can code something that others will appreciate and use. That’s extremely rewarding!”
“Students are developing great skills through these projects, ones they will continue to use in college and in their careers,” Mr. Garrant said. And after nearly three decades developing new products, he is certain that exposure to computer programming and computational thinking, whether at the novice or advanced level, will serve students well in their lives beyond Blair.
“Technological and engineering education imparts a certain level of critical thinking that allows you to do so many things,” he continued. “Our students will likely become leaders and managers in their fields. Having the ability to approach any problem logically and sequentially—and having an understanding of programming and being able to discuss it intelligently—are definite advantages.”