In the last few weeks, I broke down (“deconstructed”) computer science into its basic parts. The Meta Learning method prescribes the next steps: selection, sequencing, and stakes. The path is starting to become more clear, and I’m excited to get started, so I’m combining all three into this one post.
It’s pretty clear from all my research that computational thinking and problem solving are the fundamental building blocks to a bottom’s up approach to learning computer science. A lot of the advice I read stated that the first language you learn doesn’t really matter – it’s learning to think like a programmer that matters. So structure your introductory learning around learning these two without diving too deeply into any one language. I’m taking Harvard’s CS50x class to get myself acquainted.
While those two fundamental building blocks are key, it’s important to get as quickly as possible to building the real thing. So the next building blocks will be software development (through Learn Enough To Be Dangerous tutorials) and web technology. I’m skeptical that this will be a linear progression. I think it seems like more of a bottoms up and top down approach simultaneously.
Another piece of sequencing is the time commitment. I’m committing to 30 minutes per day with extended periods on the weekend. Hoping to get to 6-10 hours per week. It’s important to note that this is nowhere near enough (that’s 20 years to get to 10,000 hours), so at some point I need to start increasing that. But I need to start with a routine I can make happen.
I’m going to keep this one to myself, but in the event that I don’t get to 6 hours in a given week, I’ll donate $50 to my least favorite political or non-profit causes.