I’m eternally thankful to the best computer science teacher on the planet, Graham Mitchell.
When I was a sophomore in high school I took his Computer Science I class. I’d been learning Java from his book (Learn Java the Hard Way) for months prior to school starting. Each program earned you a certain amount of points which translated to your grade—by starting early, I was already ahead by almost an entire semester. He structured class in a way that didn’t hold us back—unlike any other class I’ve ever taken.
Being so far ahead meant I got to play a lot of chess (fun), and occasionally write a few more programs (also fun).
That year was his last year teaching.
In the last eight or so weeks of the year, Mr. Mitchell switched it up—he started teaching us Python instead of Java. I remember him mentioning that Python is much more forgiving and, for our purposes, more practical. While Java is useful for the AP Computer Science test, Python might be useful for a real-world scenario later on.
Once, at my first job, I wrote a program to help our purchasing department import a ton of data they were doing by hand. Recently, I wrote kindle2notion, a script that saved me from tons of manual data entry. In his class, I learned how to use regular expressions, the command line, and ViM—all things that have come in handy since then.
Would I have survived without this knowledge? Of course. Am I thankful for it? 110%.
Thanks, Mr. Mitchell, for allowing me and teaching me how to learn this stuff on my own.