By the time I was done with my second semester in college I had designed and built my own robots (as in: machine the parts and assemble, no kits) and all of the computers and electronics to drive them. I implemented all of the low-level code in FORTH (which I wrote from scratch) and wrote the high level operating software to run on a PC. This project became the subject of a paper I presented at an international conference on the subject. Again, school was like being in a slow-motion scene in a movie. I had to move faster.
I was designing and programming my own computers from scratch. By that I mean, wire-wrapping chips and writing the BIOS in assembler, implementing FORTH from scratch, designing my own floppy disk controllers from scratch and implementing drivers, etc. School felt very slow and painful, I was learning at a much faster pace on my own.
Later-on I got in to FPGA's and went on to design boards to do real-time image processing in hardware. Again, I did the hardware, all the firmware and real-time OS for an embedded micro that ran the whole thing.
In all I accumulated experience programming in Assembler (various), C, C++, Forth, Lisp, Visual Basic, Objective-C, PHP, Javascript/jQuery, Verilog and probably a few more languages.
Now, years later, I am thinking about the idea of completing a bachelors in CS degree online. The motivations are many. From personal accomplishment to the idea of going further and opening the doors to get into research in a field I love, robotics. I am fascinated by humanoid robotics and want to contribute, but, despite my accomplishments, the lack of degrees stands in the way of participating in that field.
I'm wondering what HN members think about the various programs now available. I've looked at University of Illinois and a few others. Not sure how they all rank.
I am also very interested in the possibility of receiving credit for some of what I've done over the years. I mean, I could probably teach some of these courses with some prep. I wonder if these programs allow one to take a test and bypass the class altogether.
BTW, I posted a much shorter version of this from my phone last night but it didn't show-up. My apologies if it ends-up double-posted.