Moving from Self-Taught to Formal Computer Education

Introduction

To understand where one has come from, one must first know where one began. I have almost a decade of experience in programming (JavaScript, HTML/CSS, SQL, Python, Twinery Harlowe, and Twinery Sugarcube, among other, shorter ventures) and just as long in computer science classes. I’ve participated in robotics and coding competitions; I’ve made my own hypertext games from scratch and I maintain my own webpage, which I programmed from scratch in HTML. I’m familiar with my device down to the root level and often offer tech support to my less techy friends. In short: I started off already a computer nerd with a decent background in the history of computing.

Part I: Mismatched Experience

While I do have quite a background in computer science, almost all of my programming knowledge is self-taught, and that poses a problem. None of my code follows style guides, and it is almost never done in an efficient way (Python users would call my code “non-pythonic”, which is to say “not aligned with the core values of Python despite being written in Python”). It was only last week I learned what a dictionary was or how to use lists, and those were only learned after I had bodged together a program using recursive if loops that had a decent chance of dumping the entire output and restarting itself due to a validity check. Every discussion I’ve had with someone who’s had even a modicum of formal experinence ends with them in terrified awe of my bodges.

This is my first formal computer science class in years, despite its ENGL prefix, and therefore my first brush with formal computer science in years. What have I learned? Well… patience, first and foremost. No matter how obvious something seems, there will always be someone who does not know it.

A black-and-white comic strip showing math that roughly 10,000 people per day learn something "everyone knows" by age thirty, then two stick figures discussing the "diet coke and mentos thing" and agreeing to go to the grocery store

Fig. 1. “Ten Thousand”. Digital comic by Randall Munroe, 2012. XKCD.

Because I taught myself, I’m prone to the impulse to feel everyone should know what I know, but that isn’t how it works; I had to learn this, and so too does every one of my classmates. I learned HTML when I was nine, sure; they might have learned how to tackle or fish or pirouette instead. I don’t know how to tackle/fish/pirouette and it would be unfair for someone to assume I would even if they taught themselves; likewise, it is rude for me to assume they ought to know code just because I learned it.

It may be an unintended consequence, but it’s a happy one.

Works Cited

Fig. 1. “Ten Thousand”. Digital comic by Randall Munroe, 2012. XKCD, https://xkcd.com/1053/.