Cheating In Math Class
The first and deepest moment that I realized the value of programming was in high school. I had bought one of those snazzy brand new TI-84+ silver edition calculators. But it wasn’t the hardware that I was excited about, it was that I could program it.
You see, I had always been frustrated with math class. We’d listen to some teacher doodle on the chalkboard about stuff that didn’t quite make sense. Then she would hand us a paper with 30 problems on it for homework. What sucked the most was there was nothing challenging in this set of problems either. It was 30 problems with the numbers slightly changed. Nothing hard, just repetitive.
I’ve come to learn the value of repetition later on in life and how much it helps to solidify ideas in your head. At the time, the repetition just pissed me off. So like any rebellious teenager, I began to start writing programs for my calculator to do my math homework for me.
Every day immediately after school, I’d sit down at my computer with my notes in hand and start writing software to do my homework for me. I’d start by doing the first couple problems on paper writing out each step. Then I’d figure out what pieces of the problems could be automated. This variable gets squared; that one halved. Pretty quick I’d understand all the steps well enough to write some code.
First, you would fill in the blanks where the numbers were different for each problem. Then you’d hit enter, and the program would show you exactly what to write down on your homework. This was super important because the teacher would suspect you cheated if you didn’t show your work. So why not write software that shows the work?
I did this a couple times and realized just how easy this made my life. It was fantastic. Gone were the days of spending 4 hours a night doing repetitive homework. I had more time to fiddle around on the computer and aced every assignment. The only thing standing between me and an A+ for the semester were the exams.
The first exam I took made me a bit nervous. Teachers were always known for throwing a few curveballs towards the end. Problems that didn’t quite follow the patterns I had worked out before.
I sat down nervously at my desk awaiting the test to be handed out. A stack of 7 pages, neatly stapled together slides across my desk into my hands. Now was the moment of truth. Will I be able to sneak this into an exam? Cheating on homework was one thing, but cheating on an exam was another, much scarier risk.
Starting the exam, I knock out the first couple problems. Easy peasy. After 10 minutes go by I’m still breezing through the exam, nervously awaiting the curveball on the next page. I keep going. Nothing hard. I turn to the last page. It seems too easy. Never once did I have to pull out my calculator to cheat on the exam.
In fact, I cheated myself into learning the math. I was so focused on getting by with doing so little work in class, that I not only taught myself the math, but I also learned a ton of useful programming skills as I went. That moment hit me like a bag of bricks. I was so focused on making my own life easier, that not only did I do exactly what the teacher wanted, but I also taught myself how to write my first really useful piece of software.
It’s a funny thing. Teachers spend your entire childhood berating you into believing that cheating is bad. They do this for supposedly good reasons. They want you to learn the material and if you were to grab a program off the internet, then you wouldn’t have learned anything of value except how to download software.
There’s an important difference between these two approaches of “cheating”. On one hand, you could do no actual work and just use other people’s work. On the other hand, you could build things that make you more efficient at your life.
When you start working in any industry, you notice that the people who “cheat” and build things to make their lives easier are the ones who often get ahead in their careers. They’re the ones you’re looking up to. The ones who most people call “successful”. Successful people make stuff that makes their lives easier.
Instead of doing things the way they have always been done, how can you write some code to automate it?
How can you “cheat” your way to being better than everyone else at the work you do?