Teach Yourself
The problem I've faced in my amateur persuit of programming and computer science for the last four or so years is one of trying to do too much. From apache to zope, I've installed and briefly fiddled with TONS of software. I've written "hello world" in at least nine different languages. I've bookmarked, downloaded, purchased or printed portions of at least 30 different books. Sure, expose yourself to lots of different areas. Learn as much as you can, blah blah blah. The problem is I've mastered no language. I've written or debugged no major projects in any language (~300 lines of python is my closest to date). I've never finished a non-fiction computer related book.
I'm seeing it again clearly. This is most certianly not the first time it has gotten bad. my usual solution has been to reinstall my OS. Fresh install means no mountains of developer oriented software clogging up my thought space. This is NOT an acceptable solution. A primary reason for pursuing a formal degree rather that trying to teach myself or taking a few certification classes is FOCUS. A formal degree program has REQUIREMENTS. I cannot forsake a portion of a class just because I think it's boring. Well, of course I can, but I do have a much stronger motivation not to. If I decide I want to skip ahead or take up a different area of study, there are very HIGH STANDARDS to which I will be held.
I am seeing that a good way to prepare for a return to the academic environment would be to intentionally structure my interactions with technology for the short and long term.
By "intentionally structure," I mean I would like to come up with a plan for organizing, working on, and completeing the projects and goals that are most interesting to me. To come up with a miraculous plan like this out of thin air would be impossible. There are too many ways to leave out important details while trying to be both broad and specific at the same time. The first task will be to brainstorm in no particular order, with no particular arrangement.