Speedrunning College: My plan to get a Bachelor’s degree within a year
Today is April 23, 2019. I will officially start classes towards a Bachelor’s in Software Development at my new university on May 1, with 86 credits left until graduation.
By May 1, 2020, I intend to walk away, degree in hand.
The specific timeframe is drawn from Scott Young’s MIT challenge. Like him, I have always been fascinated by computers, but have never taken the time to develop meaningful skill in working with them. Like him, I am curious about the boundaries of learning, exploring which parts of the structure we’ve built up around it are necessary and which are window dressing. Unlike him, I have no prior 4-year degree, so instead of taking a diploma-less path through MIT, I am yielding to pragmatism and attending WGU, a nonprofit online university that supports this sort of thing.
It’s not on the same level of intensity as Young’s challenge, but it’s a start.
Why this, instead of a more traditional course?
A few intertwining reasons. Self-paced education has always been a passion of mine, particularly online. In sixth grade, I entered an online program and was amazed by the sheer volume of time that could be stripped away from classes. For nine months, six hours of school a day became one or two, and within those few hours there was still time to complete two years of the curriculum and sail past my class. At the same time, traditional education didn’t work out so well for me last time I tried. I got distracted, I got bored, I lost focus and spent most of my time critiquing the structure of my classes and slacking off instead of actually putting in the work I needed. Oh, and I am working full-time right now with an unpredictable schedule, so if I want any degree at all in the near future, it needs to be an online one.
It is my firm conviction that there are better ways to learn than the standard path, and I feel it is time for me to put up or shut up. I've had this ideal in mind, kicking around since that sixth-grade class, outlining an idiosyncratic path of "how education should be." More structured than purely self-directed learning, where a moment's distraction can spark a month-long dive into twenty rabbit holes unrelated to what you intended to learn. Less structured than a high school or university, where the Way To Learn is four months of sitting through lectures and joining study groups, splitting attention between 6 different topics. I much prefer a gamelike structure, one with clear objectives and branching paths, one where students set their own pace but are encouraged to progress as quickly as their ability allows.
Now I have the chance to put those ideas to the test.
How will I do it?
First, full disclosure: I'm coming in with some prior knowledge. It's hard to say how much. I was a CS major before I dropped out and have taken four or five entry-level programming courses in different languages and fields (intro to mechatronics, bioinformatics, CS, CS-again-but-a-different-language, data structures). The basics of HTML and CSS came up a few times for some projects. The last time I paid any attention to programming or web development was about three years ago, though, and my knowledge has always been sporadic at best. I'm not starting from ground zero, then, but there is a tremendous amount I still need to learn to become competent in the field.
The past week has been my testing phase. Because my university opens access to classes fifteen days before the official start date, I've already had a week of time for coursework. In that time, I've completed the orientation and three courses--one mostly a review, another an equal mix new and old, the last entirely new information. 10 credits down, 76 to go. I don't anticipate keeping that same pace for later, more skill-heavy courses, but I needed to know the baseline speed to anticipate what was possible. Two days for a course is a bit fast, but I have two weeks per course if I want to finish within the year, and that seems more than reasonable.
Two tools help out. I'll start with the more obvious and less vital: Video Speed Controller, which lets you freely adjust the speed of any HTML5 video. Video content is typically much slower than our ability to process information, and online courses often rely heavily on it, so I speed them up mercilessly. Without a transcript, I listen at 2-2.5x speed unless they get technical. With a transcript, I typically listen at 4x speed. It sounds not unlike Eminem's Rap God at times. This is the sort of thing I'm thinking of when I talk about inefficiencies: I shouldn't have to watch a 45-minute video to extract a few vital principles.
The other, absolutely indispensable, is Anki, my spaced repetition tool of choice. It's not hard to process information quickly, but retention is another matter and is the obvious concern with hyper-accelerated learning. Nicky Case, Piotr Wozniak, and Derek Sivers do a much better job than I can of introducing the concept, but the quick description is that if you break new information down into basic elements and space review so that you review each piece just as you're about to forget, you can retain it long-term with little effort.
For my two courses so far, I have created 385 Anki flashcards, most of which are wildly entertaining, looking something like this.
In general, active recall is much more important than passive absorption when it comes to learning, the earlier the better. I prioritize quizzes before reading or watching content, make Anki cards as I study, and drill through practice tests a couple times after reading. Note that none of this should take long: a second or two to recall information or realize you don't know it, then move on. Tests should be fast, intense. By the final exam, you should not be wondering whether you're going to pass the course. It should be apparent based on your level of recall in prior quizzes.
None of this is a guarantee of success, but I am confident that, applied properly, this method will provide both the immediate recall necessary to pass the tests and the long-term understanding needed to make it through a degree and make a real difference long-term.
Why software development? What do I hope to get out of all this?
Did you know there's not a single online undergrad program for cognitive science?
Programming is not my core interest, but it's a part of the puzzle. Ultimately, my focus is on the study of learning, motivation, and expertise, but I had no good undergraduate routes towards any of those. Psychology was an obvious route, but most really interesting psych courses are gated at the graduate level. It's possible to get a more general psychology degree online, but it's a battle to find a really rigorous one, one that people will take seriously or that would let me focus where I wanted. Finally, when I narrowed the options down, none of the most involved online psych programs I found seemed to really take advantage of the peculiarities of online learning. As for education? Try finding an undergrad education degree that doesn't assume you want to teach a specific subject in a classroom sometime. They hardly exist.
That's why I'm doing this, really. CS and software development courses avoid a lot of the pitfalls of other online programs, probably in part because the subject is so intertwined with the medium. More than that, though, I really believe in the vision of online learning, but somehow that vision hasn't quite been realized yet the way we all hoped. Nobody except Scott Young uses MIT OpenCourseWare. A wave of technology has pushed into schools and brought with it vanishingly small outcome differences. Online courses rely heavily on crude abstractions of offline tools, often lagging far behind the carefully tuned experiences provided by the best games and websites. The best online tools offer brilliant glimpses at what could be, but there is so much left to be done in the sphere.
And it might be naive to think that one kid with a weird obsession for learning can impact any of that, but here's the reality:
If I never learn how to make these tools myself, I certainly won't have a chance to help transform online learning, to influence education as a whole the way I hope to.
If I do, that chance remains.
In short, I do not aim to complete this degree in a year simply to save time or money. There is time enough in life without rushing through everything. Rather, I aim to do so because I believe this sort of thing can be done, realistically and sustainably, on a much larger scale than myself, and that in experimenting like this we begin to understand more about exactly how we can learn best. Expertise takes tremendous effort, and the more empty, wasted moments we can escape from, the more we can focus our study on the things that lead to meaningful change.
This is a new project and remains very much experimental, so I intend to provide regular updates analyzing my successes and failures in this game of learning. If you’d like to follow along or read my meandering thoughts on education, optimization, and whichever other topics catch my eye, you’re welcome to follow me here, on reddit, and maybe even on Twitter if I’m feeling particularly careless.