I dropped out of high school, and thinking that college would be more of the same, I didn't even consider applying. This was a mistake, but I had immigrated to the US only a short time prior, and didn't know these things. I learned to study on my own (and ended up "living" in my local university's library for a time), but now my motivation is waning, and I think it's due to lack of external pressure.
Err, sorry for the life story; what I'm getting to is this. I always assumed that I've missed my opportunity, and that going to college now, while possible, would be more trouble than it's worth. It wouldn't be a good college, and I'd have to pay for all of it. Until today, I didn't even know you could earn scholarships while in college.
You said you never went to high school--was your situation similar? How did you get in, and where?
I took two classes per term in my first year, and I got A+'s. When I called up the dean of science to thank him for letting me in, I found out that he had died of a heart attack. Before passing away, however, apparently he had enrolled me full-time. From that point on I was a full, legitimate student.
I know several people who have gone into college with a GED, and a few others that went into college before they graduated highschool. Some were in the USA, though it was markedly fewer. Often you have to talk with the math departments to get anywhere.
Scholarships are quite attainable in college, but since the tuition is much cheaper in Canada it makes more of a difference. You can also win summer research studentships, and these are lucrative enough on a student budget as well. Finally you can get paid to tutor, mark assignments, and teach classes.
I did actually take classes at a Community College at the same time as when I was in high school, and I really hated it. It was academically like high school and socially like a Dilbertesque job (especially the programming classes). Worst of all, it led me to think that I don't like math. After a couple of years, I accidentally came across a textbook on mathematical logic and proofs, and it was like being hit on the head with a brick. I thought, "Why did they hide this stuff from me?". No wonder math had been frustrating--it wasn't really math, any more than using Windows is computer science.
Anyway! There are bad things in my Community College transcript. I wonder if that will hinder me, or if I have the option of just pretending it never happened...
Is there something special about math departments in universities (less corruption? a lot of influence?), or did you just guess, correctly, that I wanted to study math?
I got fairly lucky with community college: there was another really bright student there. He coded a 3d engine in ASM. So I learned a lot from him.
I didn't guess that you wanted to study math, though it's not much of a guess that you'd like it.
The thing about math departments at research universities is that the field has largely been written by ex-prodigies (each textbook seems to include a mini-bio on galois...), and they don't care much for rules or structure since much of the faculty had to struggle with such artificial things anyway.
So I tended to have a lot of luck talking with math departments. I was quite a writer back then too -- better than the pupils of the English department, it seemed, but there I really doubt I would have gained the traction I had gained with the math department.
By the way, if you don't read Scott Aaronson or Terry Tao, I strongly suggest that you do -- they're wonderful bloggers, and Scott has a terrific (though unfinished) set of notes called Quantum Computing since Democritus. A book you might really like is "What is mathematics" by Courant -- it's wonderful.
I barely passed Calculus III; there is no way I could have proven any auxiliary theorems.
I do think that it takes years of general dedication towards learning to start tackling such topics, and it takes confidence to know that what one is aiming for is achievable, and it takes the honesty to realize when one truly is and when one truly isn't understanding some topic. I am continually astounded by the insight and intelligence of what some on this board might consider regular folk, and I think that what sets me apart from the masses isn't in hardware (a better brain), but software (beliefs and an outlook more conducive to learning).
From your list of accomplishments, I suspect one of the skills that sets you apart is your time management capabilities. Otherwise commonly known as self-discipline.
Unlike physics say, students have less reason to trust those higher up in this way in a field such as computer science.
"Learn everything from first principles, and when something looks wrong, bring it up."
I fully agree that this is exactly what you should be doing to genuinely learn and have a good time. But doesn't the regimentation of school just get in the way of doing the above? School has so much random pointless overhead you have to put up with, and doesn't help at all with doing the above.
It also helps immensely to have deadlines from outside you: given a schedule I found myself able to complete many times more than I would otherwise schedule for myself, with no exhaustion and less stress than I would otherwise have.
I don't think it's a great mode to be in permanently, but for four years? It was definitely worth my time. I know that college isn't needed to learn any specific thing, but I know that it would take uncanny discipline to approach the breadth of what I had learned without the framework of the university to guide me. I needed to harness that framework, and parts of it did get in the way, but I certainly think that for me it conferred net benefit.
I could choose my classes so that the material would be generally useful, by moving into a combined honors, or interdisciplinary degree. I tried really hard, and eventually people started coming to me for tutoring. I taught a few classes, professors asked if I wanted to work with them, and eventually I graduated with the university medal.
One thing that I never gave up on was the idea that you can turn anything from an 'assignment' into a really educational experience by going above and beyond. In math assignments, prove auxiliary theorems, and the general case. Always do the bonus problems. For projects, release on Sourceforge. Write essays to please an online audience. For new projects that would be better in a different language, learn the new language. Learn everything from first principles, and when something looks wrong, bring it up. Do all the readings, and read the original works. Program in programming contests. Program for fun. Program as reflex. Don't ask permission to do research. Live in Libraries. Play games with smart people. Give talks. Teach. Publish. Learn.
University, for many people, seemed to involve a lot of rote learning, but I seem to have avoided that substantially. I loved my years in college.