Michael Hopps: It teaches you to think a little differently


Credit: Caitlin Newton

Computer science teacher Michael Hopps sits in his office. Hopps entered WHS with no knowledge of computer science, but self-taught himself the subject and now teaches soley computer science. “When I assign something that sounds like I could get the same results from everybody, I end up with 50 different projects,” Hopps said.

Most math teachers are explaining how to write an equation or how to look at a graph and find the y-intercept. But, computer science teacher Michael Hopps teaches his students how to program using the Java language. Each of the five classes offered is structured around creating projects based on their coding. The students range from kids who have never programmed before to kids who are going to further their studies in college.

Hopps started his teaching journey 17 years ago at another school, where he taught strictly math. Before his first year at Wayland, he had never taught computer science, so he took a class over the summer. From then on, everything he knows has been self-taught.

“When I applied to this job, I didn’t know it had a computer science component to the position,” Hopps said. “When they asked if I could teach computer science as well as math, I said I probably could, and that was good enough, [so] I learned how to do it.”

At the beginning of Hopps’ WHS career, there was one AP Computer Science class with seven students in it. Since then, the class has grown, evolving into five sections in addition to two others that math teacher Molly Kooshan teaches. According to Hopps, the growth has a lot to do with the one-to-one laptop initiative.

“Being able to get out of the computer lab was kind of a big deal because computer science [stopped] being this weird class in the corner of the math building that nobody really saw,” Hopps said.

Hopps also believes that the increased interest in computer science classes can be attributed to the growing market of computer science jobs, which makes it appealing to high school students.

“Society is demanding more computer science, so I think it’s more in the limelight,” Hopps said. “You hear about it all the time because there’s demand for people majoring in computer science or in the computer science field, so I think that society values [computer science] more than it used to.”

Junior Josh Ellenbogen, who is currently taking AP Computer Science A, designed a submarine for his first computer science project. “[Computer science] teaches you how to break things down into small pieces and build up a solution to it,” Hopps said.

The variety of classes is also attractive to students since they don’t need to start in the most challenging class. Instead, they can take an easier class like Introduction to Java Programming or Python Programming. These classes are semester-long courses for students who are interested in taking AP Computer Science in the future but want to have a foundation of knowledge.

“When you’re in the Python class, you have kids who have never experienced computer programming, and [you] watch them get it and realize what they can do,” Hopps said. “It’s fun to see that excitement at the beginning of the course.”

The AP courses consist of AP Computer Science A, a class that is focused on programming in the Java language, and AP Computer Science Principles, which has a vaguer focal point.

“AP [Computer Science] is really fun [because that’s] the one I’ve been doing for 16 years,” Hopps said. “I like that class because I’ve continued to evolve it over the sixteen years, and it’s pretty refined at this point in terms of what I know kids can do and how I can push them, so I think that’s fun.”

Once students have progressed through these classes, they have the option of taking Honors Applied Computer Science, which is a project based course.

“Honors Applied Computer Science is fun because I really just take the reins off the kids and let them do projects mostly,” Hopps said. “These are all kids who I’ve taught before, and I just kind of let them spread their wings. It’s fun to see what they can create without me getting in their way.”

Hopps has learned a lot about computer science over his 16 years of teaching the subject. One of the most difficult things about computer science for Hopps is that there is not one solution to everything as there is in math, and when students ask questions, he doesn’t always necessarily know the answer.

“In computer science, there’s too much [information to be able to know everything],” Hopps said. “It’s endless. [The biggest challenge] was kind of knowing what’s an acceptable boundary of my knowledge and saying, ‘We can figure it out if you want.'”

According to Hopps, computer science teaches a variety of skills that differ from other classes. Since it’s a math elective, students use skills that include problem solving and a rearrangement of their thought process. However, the creative aspect comes in when students are given a base idea and can go anywhere with it.

“[Computer science] teaches you tools that you use to solve problems and create a solution and create programs that are interesting or fun or helpful,” Hopps said. “You get a lot of freedom over what you do in the class where you can solve a problem your own way, or you can take a project into a direction that you want to take it and may be different than your neighbor.”

The studies challenge students’ brains to think in ways they never have before. Hopps thinks these skills are applicable to life in general.

“[Computer science] makes you smarter [because] just studying it teaches you to think differently,” Hopps said.

Junior Kyle Chen’s project is displayed in code. Students in AP Computer Science code in IntelliJ IDEA, a program that eases the learning process for students. “You have to rearrange your thought process to deal with the logic of the languages, and [computer science] teaches you to problem solve,” Hopps said.

Since Hopps began teaching the AP class, he has been able to amend the class by adding and subtracting positive or negative aspects.

“Over the years, I’ve learned what a good project assignment should look like,” Hopps said. “I’ve learned to design projects so that everybody can meet the expectations, but I provide enough flexibility so kids can explore new concepts on their own and add elements to their project.”

Hopps believes that leaving students with room to create is an essential part of computer science because of the endless ideas different people have.

“Being able to build in freedom to assignments is important,” Hopps said.