Eric Matthes has taught math, science and a little bit of everything at Pacific High School. He even leads programming courses, teaching teenagers to make simple programs and games with coding languages like Python.
That language is also the subject of his first book, “Python Crash Course,” which has become a renowned guide for budding programmers across the country. The book was published in 2015 and has been so successful that Matthes is stepping away from teaching at Pacific High this year to focus on writing a second book on web applications.
Eric Matthes started programming at around 9 years old. That was back in the ’70s, before everyone in the world had a computer in their home. Luckily, Matthes’ father was a computer programmer.
“Since my dad worked at a computer company, he had a kit computer in our basement: bare keyboard, no case on it and lose wires connected to a monitor and a motherboard,” Matthes said.
Using that bare-bones machine, Matthes learned how to code in BASIC, a rudimentary programming language developed in the ’60s, and created a number-guessing game. It wasn’t much. It would generate a number and ask for a guess from the user and would say if the guess was too high or too low. But it made Matthes realize something.
“I learned programming at a young age and that you could make computers do what you want,” he said. “Not just use them the way they were designed by other people.”
Matthes says that made him feel powerful. That power only grew as Matthes learned more and more programming languages.
But Matthes didn’t do much with that power. He never became a professional programmer like his father. Matthes’s true passion was studying math and science. He was more interested in finding out how the universe works.
The role of programming in Matthes’s life changed in 2011, when his father died. He flew home to New England, with his wife, who was 8 months pregnant at the time . At one point, his mother asked him to look through his father’s computer to see if there were any files worth keeping.
“It’s an interesting and personal experience,” Matthes said. “But I remember seeing all these projects that would never come to life because he died. And I realized that if you looked through my computer that day you’d find a bunch of projects that would never go anywhere. And so I chose to focus on a few small projects to have an impact on the world.”
So, Matthes chose to focus on projects that would benefit his students at Pacific High.
“Schools should have some structure, but schools should be willing to be flexible and meet students where they’re at,” he said. “I think a lot of times in school, we tend to build schools so that they’re efficient for adults: teachers, parents. And if school isn’t working for a student, we often ask ‘how does this student need to change in order to do well in school?’”
Instead, Matthes asked himself how the school could change in order for a student to do well. For example, the school required students and parents to keep track of graduation requirements through a credit transcript. So, Matthes developed a program to make visual representations of that data.
The program takes data from an individual transcript and fills in green bars that tell students at a glance what classes they still need to take. But Matthes says the benefit to students was immense.
“Once we started using these visual transcripts, students and their parents could see in less than a minute where they are,” Matthes said. “And what’s interesting about that is our conferences with students and parents weren’t any shorter but all the time was focused on how students can work toward graduation. Instead of working hard to understand where they’re at, they could focus on where they want to be.”
Most of us probably think of programming as a pathway to a lucrative career in Silicon Valley. But Matthes says the real beauty of programming comes from solving real world problems.
“Programming really gives us the power to do things as efficiently as we can and as meaningfully as we can. Not everything can be solved by a computer. I don’t love computers. I love what they enable us to do.
When Matthes set out to write his first book, Python Crash Course, he wanted to enable his readers too. Through the book, Matthes teaches absolute programming beginners to code in Python. The language is built around ease of use and simplicity, so much so that if you speak English, you can understand what some lines of code do pretty intuitively.
The book is a number one bestseller on Amazon in it’s 11th printing and is well regarded among the Python community as an easy-to-grasp guide to the language.
In some ways, Matthes isn’t doing anything new. He’s been doing it his whole career. It’s just that this kind of teaching is in a new format.
“My entire life as a teacher, I’ve always looked at what I’m sharing with students, whether it’s information or ways to think, it’s really meant to serve them,” Matthes said. “It’s really meant to help them understand the world around them and help them build the world that they want.”
Through his book, Matthes has taught millions of readers how to build the world they want to build using a new tool that unlocks the true power of their computers.