Consider Harvard, MIT's, and NU's endowments. I attend Northeastern, where the CS college is excellent, particularly the opportunities to do research with programming language rockstars like Matthias Felleisen (The Little Schemer) and Olin Shivers (best known for his SCSH acknowledgements page).
The educational caliber of a school doesn't necessarily translate to deep pockets.
Massachusetts Institute of Technology | $7.982 billion (US dollars) Harvard University | $25.66 billion (US dollars) Northeastern University | $486.9 million (US dollars) (2009 estimates)
Harvard has 52 times more money than NU.
http://www.wolframalpha.com/input/?i=endowment+of+MIT%2C+Har...
edit: I keep expecting HN comments to turn _foo_ into italics.
The cost of attendance for all of Northeastern's undergraduate students for one year is 137% of its endowment, while for Harvard, it's cost of attendance for all of its undergraduate students for one year is, rounding up, 2% of its endowment [1].
It's completely unfeasible for NU to give out free tuition, they'd be in the whole for 100s of millions of dollars. Harvard, on the other hand, could take 2% of its endowment to pay for its students and still have 9% [2] of growth (that's nearly 2.5 billion dollars) to spend. Even if we assume the dismal 5 year average return (which includes 2008-2009's economic shitfest) Harvard would still have 3% or about 700 million dollars of growth to spend (which is to say, their growth is equivalent to Northeastern's endowment).
I could not find any figure on the amount of money which disappears into Harvard Medical school, but if you could dig up those statistics, then we'd be able to see what sort of growth Harvard's endowment would need to maintain.
That said, Northeastern's endowment is hopelessly small, while, with Harvard's endowment, it seems feasible to pay for undergrads, unless Harvard Med's net losses are more than 2.5 billion dollars (or, more reasonably 1 billion dollars).
[1] http://www.wolframalpha.com/input/?i=(harvard+tuition+*+harv...
[2] http://cdn.wds.harvard.edu/hmc/2010_endowment_report_10_15_2...
edit: add "137% of endowment" to 2nd P, remove obviously "It's obviously completely" from 3rd P, note that NU's endowment is about equal to Harvard's growth over a really bad five years, and formatting
Saying that some 1% of kids can get an affordable education at top schools is really quite irrelevant.
If you fall in the dreaded "middle-ground" for financial aid, your options for an affordable education are somewhat more limited, but nonetheless existent.
A rough estimate for the United States could be that ~30 states have good to excellent public universities.
The group that seems to be in the toughest spot are the students from states without excellent public universities and in a bad financial position for aid or grant money.
If you can't get into any of the private schools that will satisfy all of your need, and you're not willing to make up the difference on debt, there are many excellent public schools, (Berkeley, UCLA, UMCP, Urbana Champaign, the list goes on), none of which have very high tuition.
Most of the great hackers I know have been hacking since they were kids. This doesn't mean studying CS didn't add anything, just that studying CS alone won't make you a great hacker. Just a Computer Scientist.
Whereas being a "hacker" has very little overlap with either programming or Computer Science. You can be a "hacker" in any number of disciplines.
If you want to be a great Computer Scientist, learn Computer Science but you'll also most likely have to learn some programming.
If you want to be a great programmer, do a lot of programming but you'll also most likely have to learn computer science.
If you want to be a great hacker, figure out what that means to you.
I believe college is about opening your mind and adquiring a framework for your life. "Learning to learn" is possibly the best description.
They teach you _their way_ of solving problems, and their way is the only way that exists for them. I found this particularly disturbing.
I don't know what year you are attending, but third year left me with a bitter feeling of lost time, that I had to recoup by myself learning outside the uni.
College isn't a place to learn how to do your work. This you will need to choose and learn on your own, since there is a plenty of options.
College is a place to you see how life works, to see all your options.
Browsing some Canadian universities, they don't seem all that much cheaper than US State Schools. They might be cheaper on average adjusted for quality, but that's a really hard thing to measure. For example SUNY Binghamton tuition and fees total $7,216 for in-state residents. That's cheaper than University of Toronto ($10,903). And many students start with 2 years of community college which is even cheaper and avoids some of the other big expenses (like room and board)
There are a lot of ridiculously expensive school in the US, but there are also a lot of schools in the US, period.
Compare this to Stanford, where your base tuition over 4 years is expected to surpass $150K.
Why compare it to Stanford? Stanford is an international private university. University of Toronto is a public university, like SUNY at Binghamton. SUNY Binghamton is cheaper.
What I mean to say is: Compare the costs of attending the best Computer Science schools in Canada to the best Computer Science schools in the United States.
Or even compare international adjacent ranking schools. Here's a ranking list I found, you're welcome to find another: http://universityreport.net/world-university-rankings-2011-c...
The mentality comes from a few places:
1. Discussion of US Private Universities like Harvard, Yale, MIT, Cornell, and Stanford, many of which have international reputations and attract students from all over the world, or the elite Liberal Arts teaching colleges like Williams, Amherst, Colby, Hamilton, and Colgate which attract the wealthiest Americans.
2. The real cost of college, in general, in terms of where the money goes (salaries, technology, infrastructure, etc.) rather than the sticker price, which may be subsidized.
3. People who rule out state schools for spurious reasons, as if failing to go to Stanford or CMU somehow means that you might as well not bother at all. (And many other reasons, high school kids are heavily marketed by universities and the kids often make the decisions themselves without thinking much about the finances.)
(I'm a grad of another Ontario public university.)
Yes, there are a lot of ridiculously expensive schools in the US, but not all schools are expensive and there are a lot of places where you can learn about computing fundamentals, algorithms, data structures, languages, operating systems, architecture, database theory and networks.
Not to mention the time-value of money.
(Sorry for the nit-picking, but in an conversation where not going to university is accepted as a valid option, I feel it's important to measure the costs correctly.)
I also think that without college, I would be at best a mediocre programmer. I never would have been pushed to the limits that I was in school. I never would get a job to push me to those limits without proving myself first.
TL;DR If you're a CS undergrad thinking of dropping out, give your math department a chance.
Agree that Proofs, logical thinking, creative thinking are all things that can be learned in a Math degree. Those skills are what I use the most at work.
[NB I am Scottish - but this strikes me as deeply unfair.]
- "I know many great programmers who didn’t study Computer Science and some who didn’t go to college at all": I know far more great programmers who did study Computer Science. :)
I'd say undergrad is more about learning how to learn and the discipline required. "Take only classes you're interested in" may be very counterproductive to that, depending on your interests.
In the end, it depends on what kind of "hacker" you want to be. If "hacking" together WordPress blogs with a bunch of plugins is your cup of tea, you're probably better off not even having a Highschool diploma. If you want to build a graphics engine, a hugely scaleable system, or the next generation JIT programming language, you'll probably need a solid Computer Science education (whether you acquire it self-taught or otherwise).