My high school math classes all required a TI-83 Plus graphing calculator. I wouldn’t have had it any other way. This calculator didn’t just help with calculus, the TI-83 Plus was a pre-smartphone smartphone. I’d spend hours in class playing games like Falldown, Block Dude, Tetris 1, and most importantly Drugwars2.
While I didn’t clock as many hours playing Drugwars as I did with other games, Drugwars was different: rather than only being able to play the game, an ‘edit’ button was enabled, allowing access to the source code. I found I could edit this code, changing a word here and a name there, and actually change the game. It blew me away.
I built my very first program, a game called Toy Cartel, by studying and learning the Drugwars source code, all while my teacher lectured in the background. Players bought teddy bears and lollipops, rather than heroin or cocaine, and I was able to customize each item’s pricing algorithm based on my perceived value of each item.
I soon realized that these TI-83 Plus programming skills could actually help me in my classes. While other students used the calculator’s programming environment to write notes in plain text, like a digital cheat sheet, I wrote programs that would allow me to input numbers and would return not just an answer but each step along the process, allowing me to show my work.
Each week, when we advanced to a new chapter in the book, I’d spend the first day and night perfecting that chapter’s program. As we learned more in class, I’d add to these programs, creating new features and perfecting the algorithms. These programs never ceased to amaze me, even after I had a few under by belt. Something that I had created not only worked, but was actually useful.
I learned something even more important from my days as a calculator hacker: writing these programs, which allowed me to do less work, significantly increased my understanding of the material. Ironically, after writing the program I no longer needed the program. The mere act of programming, breaking quadratic equations and other problems into their bits and pieces, helped me more than solving 10 questions every night for homework.
When I left high school, programming left with me, in favor of more liberal arts pursuits. But I’m working to get back to code, to make up for lost time. Among other things, that’s why I’m learning to program. Because it’s fun, useful, amazing, and, most importantly, it teaches me how to think. I’m thrilled to be back on the math band wagon.
- Epiphanies I Had While Teaching Myself to Code
- Writing Fizz Buzz in Xcode
- A Student’s Thoughts After (Almost) Two Months of Code Year