In trying to decide how best to structure this project I ran into some problems that weren’t as salient in the other large-scale learning endeavors with which I am familiar. Describing these problems and my strategies for solving them might prove useful to others wanting to plan out there own projects.
To start with I had no idea in what order I should learn various concepts or perform smaller hands-on projects. While I tried reaching out to a number of engineering professors and field experts for advice, the only response I ever received was “I’m sorry, how do I know you?”
Further, I wanted to make sure that I didn’t spend all my time simply reading theory. A lot of what The STEMpunk Project is about is getting better at making and doing stuff; I’m already reasonably good at thinking.
The solution I eventually settled on was iterating between theory and practice in a specific way. All four sections of the project have the following cadence: first, there’s an applied component centered primarily on toy projects like building model engines. This is then followed by a theoretical component that involves reading books and watching lectures. Finally comes a more serious set of applied projects, like wiring an electrical panel or rebuilding a lawn mower engine.
The only minor break in this pattern is the computing module I’m currently working on because I’m not starting with toy projects. Instead, the first component is designing and building a real system*, the second is making a virtual computer from the NAND gate up (thus digesting large amounts of theory), and the last is studying computer repair, networking, and security. That still roughly corresponds to applied, theoretical, applied.
Another major problem is that the lack of guidance means there is a lot of uncertainty over the life of the project. How, after all, is a novice supposed to calculate the length of time required to learn basic electrical theory if he has no frame of reference?
I coped by deliberately marking out where the uncertain places are and trying to leave myself plenty of time to complete them. I only have a vague idea, for example, of how the robotics portion is going to unfold, and in particular how long it’ll take me to learn whatever programming is involved.
Another thing I might have done is planned out a few different alternatives for each module, perhaps with rankings like “easy, “moderate”, and “difficult”. Or I could’ve set the modules up with branches which forked depending on whether or not I’d made a certain amount of progress, so that if I had managed to do A then I would do B, and if not then instead I would do C.
In the end I decided against this approach, based on the knowledge that I have a proclivity towards getting too caught up in the planning stage. I can’t recommend that everyone follow my lead, but it made more sense for me to pick an arbitrary date (March 1st) and just start the damn thing, even if that means I wind up biting off a little more than I can chew.
As of yet I haven’t decided what to do if I find that I am running out of time. Would it be wiser to expand the time frame for the module or call it quits and move on? More than likely it’ll hinge on whether or not I think continuing will be a productive use of time. If I can tell that I’m up against a subject I don’t understand at all and another week isn’t going to make much of a difference, I’ll probably just end the module there and move on.
So, that’s how I dealt with: 1) ignorance with regards to the optimal learning order; 2) the need to balance theory with practice; 3) the inherent uncertainty of a beginner trying to allot a reasonable amount of time to accomplish a big goal.
I suppose it’s still an open question as to whether or not this approach will prove adequate. You’ll have to follow along to find out!
*For financial reasons I’m not going to be building the system until later in the year, so the computing module actually is a bit of a departure from the cadence of the other three modules. But because the focus is on actual hardware, not theory, and I’m planning on building the system later, I’m still counting this module as lining up with the structure of the others.