< Gets on his soap box >
Main point of my post - College is a COMPLETE waste of time for computer programming.
Right out of high school I wanted to go to a technical school for computer sceince, do the 1 year course, get a certificate and start programming. My father refused to pay for it, saying that college was the only way to get ahead in the professional world. So, I decided to give in( old man was paying ) and signed up for pre-engineering. I took 5 classes that first semester, Sociology, Macroeconomics, English, Biology and Calculus. It completely boggled my mind why I had to take those first 4 classes when I wanted to be a computer/software engineer, Calculus is the only class which made any sense to take. Needless to say, I rebeled, partied my rear off and dropped out of college after that first semester.
So I took a semseter off and worked, while trying to convince my father that the technical school would be fine, and he wouldnt go for it. So after the 1 semester off, I went to community college and signed up for a Comp Sci degree. Again, I had to take Microeconomics and English, and then took Calculus and Physics. Calc and Physics made sense but Micro and English didn't. I actually managed to finish the semster( although I did drop English after getting into many fights with my English professor [ that's a whole `nother story ] ).
So, I stopped college again after that semester. I worked for a couple years at various jobs, enjoyed life, partied it up and saved up some money. Got some help from my mom with a co-sign on a student loan and put myself through a technical school.
After getting the technical degree( which was a joke of a course BTW, I actually taught 2 of the classes( C++ and J++ ) because I knew more than the teacher about them ), I had some tough times getting a job, people were still convinced that if you had a college degree you were smarter. After about 2-3 years of bartending and partying( notice the continued trend of partying, have fun no matter how tough things are ), I managed to get a job as an Applications Engineer. That was in November of 2000.
Here I am, 6 years and 2 months later and I'm a Lead Developer/Senior Applications Engineer, with 4-8 engineers working for me( who all have college degrees and are all at least 5 years older than me, the number varies based on projects I'm managing at the time ). I'm right on the bubble of making 6 figures already, with no college degree and a certificate from a technical school( which has since gone out of business ).
I've had many developers that I've worked with / worked for me that were fresh out of college. They knew absolutely nothing about developing applications. They know Hello World, tons of stuff about hardware and low level OS stuff, but nothing about network programming with sockets, thread concepts like mutexes/critical sections. They barely even knew C++, colleges are still teaching most of their courses in Assembly and C, and now they are all leaning more towards Java.
Now, I will say that having a college education on your resume can help you get a job, but when I hire people, it's the LAST thing I look at. I'm more concerned with experience( both on the job and personal like open source projects and the like ). There are organizations like the US Govt, that set their pay rates based on education / experience and are very strict about it. So you'll get paid more if you have a AS, BS, MS, etc.
So, now that I'm done ranting!
I would recommend some kind of after high school education. Trying to get into the professional world with only a HS Diploma is very difficult( unless you know someone ). I think college is a complete waste( aside from the partying aspect ) and would recommend a technical college that supplies strictly programming, not english, history, economics, and all that other non-computer related crap.
Whatever you do....good luck!