Ask YC: what non-top-tier college to apply for?

27 points by demaratus ↗ HN
I'm a high-schooler and will be applying for colleges this fall. I've slacked a bit in high school (you know, working through SICP instead of doing homework), so my GPA is neither good nor bad (4.1), while my standardized tests are a little above average, but nothing extraordinary.

I'd love to go to someplace like MIT or Caltech but these are now unrealistic aspirations (for undergrad). I'd also love to go to a liberal arts college that does CS, like Harvey Mudd, but even if I was accepted I'm not sure I'd be able to afford it.

I know I can get an education anywhere, but I'd like to go to a school with interesting/intelligent people, or, at least, not be surrounded by apathy. Do you have any suggestions for schools I should shoot for?

109 comments

[ 3.7 ms ] story [ 225 ms ] thread
Have you considered the University of Waterloo? Its in Canada, but its highly regarded by companies like Google, Microsoft, etc. Tuition may be cheaper as well.
Voted you up. Something else to consider when applying to Waterloo is the ridiculously high male to female ratio. If applying to Waterloo I'd recommend trying to take some shared credit courses with Wilfred Laurier students across the street.

(Not sure if CS and Eng allow that, you might have to complain a bit)

Not to mention the fact that the legal drinking age in Ontario is 19.
You might also consider the University of Toronto. It's a big school, but the CS department is among the best (and you get to learn computational complexity with Stephen Cook and neural nets with Geoff Hinton). Also look into the Engineering Science program, though that is probably as competitive as the very top US schools.
Completely off base here, but um I think it's still relevant for anyone who ends up down in the dumps and just wants to go to school no matter what:

DO NOT GO TO ITT TECH.

Bad experience?
Horrible experience.

- Staff with the exception of program chairs was always people who work entry level jobs in your industry, and have no idea how to teach the subject matter, or in some cases even interact with students

- The administrative process was nearly impossible for every aspect of your academic career. While tending to family matters, I got absolutely no respect in regards to emergencies or crises

- Education? Let me put it this way, after dropping out and getting to work on my Startup, ITT Tech seemingly had an innumerable amount of students who were willing to work, but because I knew the quality of information was terrible, I wouldn't hire a single one of them. Text books are published by an ITT Contracted company and is almost always filled with erroneous, and inaccurate information. Even the labs are awful. Operating systems, for example: we got to Linux. All we did was gather around a computer screen, the teacher went "THis is linux, this is what the terminal looks like" and that was as useful as it got.

- Career services? The career services department probably has my resume memorized, and while I knew, and the IT administrator knew I was more qualified than every student currently attending the school, Career Services was always sending me to Best Buy and Circuit City for "jobs".

- Then there was the whole thing with my buddy Chris. Around my 3rd full semester there, I was in the student lounge with Chris when a guy walked in wanting to inquire about getting admitted.

Chris "You want to go to school here?" Guy "Yes" Chris "Don't"

That little action caught the attention of the dean who refused to let him graduate on that alone, as a result his tuition skyrocketed because he couldn't take the classes if he was on academic probation, yet he was still registered for them (as you are automatically registered for classes, you can take no elective courses even if you pay foor them). He is currently filing a lawsuit against the school.

Want me to go on? I will. Way overpriced, way overhyped by their marketing crews, this place needs to be DESTROYED.

This jives with what an acquaintance went through. He ended up ~20k in debt to work at entry level support for Comcast.

I listened to him talk about the program, and I couldn't believe my ears.

why would you attend a school that advertises on TV?
Although I agree that its foolish, every major school that competes in nationally televised sports has a commercial.
Everything I've heard about the college-spread-across-the-nation sort of schools is bad, so I'm avoiding them.
A lot of schools have a guaranteed transfer program. For example anyone can get into one of the second tier Wisconsin schools just by applying, and then if you get above a 3.0 you can transfer into Madison.
I went to Madison and it was great. I think it all depends on what state you're in, but many states have great "second-tier" schools that offer cheaper tuition.
Try Brigham Young University, in Provo, Utah. They've got a competitive (if not top-tier) CS program, fantastic library, beautiful campus, and tuition is 20% of what you'd pay at other private schools.

Warning: not a party school

> Warning: not a party school

Being Mormon helps as well. :-) You don't have to be Mormon to go there, but well over 90% of the students there are Mormon.

That being said, it's a nice school.

+1 from a BYU alum. Tuition is $2K/semester, $1500 if you're Mormon. It's approx 80-90% subsidized by the LDS church.

My uncle has been a software manager/VP in Boston and Utah, and he said he prefers BYU grads to MIT grads because they have a strong enough theoretical background and much better practical skills. Starts out in Java but also lots of C++ programming courses.

It's not a party school, but great if you love sports, outdoors, mountain biking, hiking, camping, and skiing, it's hard to beat. If you really need to party, Salt Lake and the UofU are an hour north.

I spent time at BYU and the University of Utah and I thought the U of U had a much more solid CS program. The U has a long history in the field. It is also where I was introduced to lisp, bigO notation, and algorithm analysis. BYU was more Java oriented. Of course that was many years ago so take it for what it's worth.
Try Georgia Tech, you might be surprised that it's not terribly hard to get into.

warning: not many girls here

Georgia Tech is a great school for Computer Science (they model their program after the best of the top-tier schools) and will IMO give you a much stronger foundation than a liberal arts school with a CS program.

I spent a year at MIT and transferred to Georgia Tech and I don't regret it in the least.

You can take a look at Cornell. The grade criteria is not as struct as MIT/Caltech but the CS program is considered one of the best in the US.
I second that, although I am a Cornell grad so I am biased :)

Cornell also accepts a huge amount of transfers. It's somewhere around 20-30% when I was there.

But be aware of the stats on sites like US News. The engineering school is much more competitive to get in.

Haha yep. I'm a Cornell grad too so I'm a bit biased. I wasn't strictly a CS major though.

When I was at Cornell they had the Computer Science cross listed between Arts and Sciences and Engineering so you can get the degree in either school. I was doing Math as my primary major so I was in the Arts and Sciences school but I picked up the Minor/Concentration in CS through the Arts and Sciences school.

You can always apply to another easier-to-get-into program within Cornell and then transfer into the engineering school. You just need a 3.0 your freshman year. You can even take all engineering courses before you transfer if you want to, not that I'd recommend it if you're trying to get a good GPA. (Also a Cornell grad.)
I'd recommend against that. A friend of mine did that, and its a huge pain in the ass. Just apply to the engineering school directly. They hold you to a pretty tough requirement to switch colleges, which puts a lot of stress on your first couple semesters.
I would recommend it only if you commit to taking the hard classes over the summer before your frosh year. Otherwise I agree with your analysis.
Public universities are not bad. I did my time in Univ of Washington and Utah State University, and I definitely feel like I got my money's worth.

A warning, though. UW's proximity to MS and the other tech companies made the department really exclusive for undergrads while I was there. I majored in something besides CS, then did my master's in CS later. You'll want to learn about what the department's standards are (eg, competitive admission for starters) so you know what you have to do to get in.

I recommend you email or call the department secretaries and ask for some information and a hookup with a current student. Assuming the secretary and the student are helpful, you'll learn a lot about what you need to know.

OT, apply for scholarships like crazy. Don't make my mistake.

UW and Utah State both have great undergrad CS programs, and they produce lots of solid OSS projects, which could help your visibility a lot when you're applying for jobs after college.

I'm going to have to make my usual plug for my home state (Oregon) here, too, and suggest that the OP look at both Oregon State University, in Corvallis, and Portland State University, in Portland.

Neither is "world-class" for CS, but they both have solid software engineering and math programs, produce a lot of open source, and have good connections to the tech employers in the region. Plus, western Oregon (and Portland especially) is a pretty damn nice place to live.

Not that this should be the determining factor, but with which state do you have residency? If you're concerned about costs someone may be able to recommend a good school you could get into and still have in-state rates the first 1-2 years.
What state are you in? Most states have at least one good public university, and these are generally fairly easy to get into and fairly cheap (if you're from in-state).

If there's not a good one in your state, try one in a nearby state. It'll be more expensive and harder to get into, but still generally cheaper/easier than a private school. I can personally recommend UNC-Chapel Hill (nice campus, small town, good mix of social+intellectual life) and Georgia Tech (great CS professors and students, although poor social life).

Also, as others have said, definitely seek out and apply for as many scholarships as you can. There are plenty available and you're almost guaranteed one if you apply to several. Especially focus on scholarships which are special to your situation (minority, athletics, service, etc).

I'm in California, so Berkeley is an obvious option.
If you're in California, you might also want to consider Cal Poly SLO.
If you're in California, you should have a variety of schools to choose from. I hear Berkeley is great. I think I'd jump at the chance to go there.
If you're in California, definitely take a hard look at the UCs: in-state tuition is very reasonable, and the schools are among the best on the country for CS. Generally, the highest ranking UCs are: Berkeley, UCLA, UCSD, UCSB. All four of those schools tend to be in the top 30 for CS.

Also don't forget PG's thoughts on elite institutions: http://www.paulgraham.com/colleges.html

Berkeley is awesome. Nothing you can't get here academically that you could get at another school. Great bang for your buck.

(EECS senior)

Stanford ($), Berkeley, Caltech ($), LA, SD, USC ($) are all great. This is in an approximate order (at least for graduate level).
California! You have a TON of options. Stanford (free tuition!) and Berkeley are obviously two of the best in the world. UC San Diego and Caltech also have awesome programs, and I hear nice things about the sciences at UC Davis and UC Santa Barbara. Get yourself a college guide and check these places out!

As far as Berkeley "being an option", you realize you just named a school that most people rank tied for first in the world, right? The "B" in "BSD" stands for "Berkeley".

I went to a public university in my state (NC) and a top 20 public CS grad school - so I can recommend them. I have also worked with a lot of folks from all the other top CS grad programs across the country.

The thing I have found that is different with the folks who went to undergrad at some of best schools, like MIT, is that they spent more time focused on their studies than I did. And I'm saying this having been top of my class in both undergrad and grad school. So I'm not sure if that says something about public schools, liberal arts, or the kinds of people who target MIT. Probably all of these. In any case, I think you can get the same level of education at public schools if you're willing to put in a lot of your personal time. If it turns out that you don't want to be so hard-nosed about it, then I think you'll find a lot of cool things to do at a public school.

I was just going to say, "Pick the best public university in your state." But you beat me to it.

So, I'll add that admissions are usually nicer to in-state students (the UT system in Texas is extremely generous about who they admit from state high school graduates, for example, and cheap to attend for Texans). Since the OP has revealed he's in California, he's even better placed, though I think state schools are significantly more expensive in CA (but what isn't?), but the quality of education available at some state schools is excellent.

UC Davis and Berkeley are both very well-regarded in comp sci (as are many others). I know that a large number of UC schools are on Google's "will hire from" list of universities (as is the previously mentioned UT Austin).

Hmm, I work at Davis and I wouldn't say it was particularly good for comp sci -- I think there are better options among the UCs.

I wouldn't personally recommend Davis at the undergrad level for much except agricultural and life sciences.

Interesting. I just know a few of the Summer 07 (I think?) YC groups came out of Davis--and they all seem really smart and capable. YC doesn't care about schools (much) and smart and capable people can come from any school, so this is probably not meaningful.
My original comment may have been a bit harsh. I'm sure there's a lot of good people both in the faculty and in the student body. I actually don't know much about the CS department at all, so by all means listen to somebody else's opinion over mine.
I graduated from Davis in 06 as a computer science and engineering student. I would rate the faculty very highly, they are the right combination of professor and teacher. I worked with them as a student and a researcher and enjoyed it.

I wouldn't rate my classmates so highly. My class was the last of the surge created by the first bubble.. and I felt everyone was in the major to please their parents and secure a boring but safe future in engineering. There were certainly some exceptions, but they were just that. I felt these people lowered the difficulty of the classes. I learned a lot more when I found the smart ones and worked on projects with them outside of the curriculum.

Anyway, the CS dept has had a big drop in enrollment now because it has still been 4-5 years since CS degrees were not highly in demand. I assume the classes are of a higher quality right now as the people in the classes have purer motivations. And I assume the quality of students will drop again as the second surge hits.

Feel free to email me if you want more details.

ASU (Arizona State University). Good party school, lots of hot chicks, and code
Too bad it's an awful school.
Personally, I wouldn't worry too much about affording school just yet. A lot of schools offer significant financial aid packages, and there are plenty of scholarships available.

Take it one step at a time. Figure out where you want to go, get in, and then figure out how you can afford it.

Where do you live? That will change the answers a bit. Having done a year where you need to get on a plane to get to school and back, it is generally not worth it unless the program at the other end is awesome.
The SUNY (State University of New York) schools are great. There's pretty much a SUNY school that will cover you at most GPA-levels. Look at SUNY Geneseo (2 girls per guy!), SUNY Albany, Buffalo, and Binghamton for the best in the system, but there are easier-to-get-into schools there, too. If you're not going to MIT, or an IVY, I think very few other schools offer a return on investment that is comparable to a good state school.
Option #1) Go to a junior college, do your best and transfer to a real school. (EDIT: In Cali, your grades will count as full "university" grades, so a 3.5 GPA will be taken as a true 3.5 university GPA when transferring)

Option #2) Simply try to get it the best school possible, top tier or not.

If you aim low, guess what? You're gonna have low results.

There are universities that exist to privide workers for the economy (ie, ITT tech). These schools just fill the vacant seats as currently required by the industry and don't teach you much that requires brains, or that will be required X years from now. These schools typically teach you the current popular programming languages and stuff like that. People like to call these "hands on," but it really means "no theory."

"Better" schools provide thinkers to the economy. These schools teach you principles and will make you study Scheme/LISP and implement quicksort and other algorithms like that. These schools want to teach you principles that you can apply to any language. You learn specific useful languages mostly on your own time. They might adopt something like C++/Java/etc as a "core" language, but the emphasis is always on the algorithm, not the language.

Sooo.... The choice is yours... Where do you want to study? What people do you want to surround yourself with?

You still have time, make a good choice.

EDIT: I see you live in Cali.... I stress option #1 above, that's the route I took. To put the two kinds of universities I talk about above, compare UC (University of California) system versus the California State University system. Why are there more CalState universities than UC? Because more labor is needed than brains, and more people just want to get out and work rather than think and go on to bigger things. Do your research.

I've worked with/known several SJSU (a CSU University) graduates and I definitely wouldn't call the education you get there anything like ITT. You can see the curriculum here: http://www.cs.sjsu.edu/Programs/bs_in_cs/requirements/CS_req... (yes there's also Java and there are courses in UNIX system administration, so the "straight to work" track is definitely available but real theory - formal languages, data structures, architecture - is required).

That being said, if you can afford a UC and can get in (particularly UC Berkeley) - including through the community college transfer option - you should go for it.

The junior college route can work well. I went to Orange Coast College for 1.5 years and then transferred to Stanford. Many of my friends transferred to Berkeley. There are some really good instructors at junior colleges here in California. You'll have to do your research to find out which ones they are, but when you do, they will often take a personal interest in your success. You'll save a ton of money, get the education you deserve (read this again), and leave with a nice brand name on your resume. Highly recommended.

The only downside is that most of the value of college isn't the classes or even the professors, but the relationships and friendships you form with your student peers. It's tougher to find people you'd want to be friends with at a junior college, and when you transfer, you'll have to start all over again. But it worked out fine for me.

Fred

No kiddin'? I wen to OCC as well! It's a good school... I was pre-med and comp sci back then, the quality of the courses was very high at OCC, it prepared me well for later opportunities.

There is a theory that community/junior colleges offer higher quality of education for the first two years because that is all they do. Certainly at OCC that seemed to hold true.

I was very impressed by UT-Austin and the community there. They also have a honor's program for CS majors (Turing) that you may be able to get into with okay grades but good experience. But even if you don't get into that program, you'll still be taking classes with those folks.

Also think of the relationships between schools to get in the "back" door at places where the competition might be higher. For instance, at the Univ of Pittsburgh you can take one course every semester at Carnegie Mellon. The Pitt credits are cheaper but you get the instructors and knowledge at CMU. Of course, your degree would be from Pitt. Still, knowledge matters. I think the same is true of Tufts and MIT/Harvard.

A third option is going to a local state school and getting your grades in order to transfer after a year or two. You'll probably be in school a semester or two longer (cause all credits won't transfer), but your degree will have more of a "name" and you'll benefit from increased competition/knowledge.

EDIT: Sorry if this sounds disparaging of Pitt. I had a great experience there in a combined cogneuro Ph.D. program with CMU. But I know nothing of Pitt's CS department even as the cross-over of the communities made a lasting impression. You'd likely to have to work a bit harder to make those connections as an undergrad. But it is possible.

I was going to suggest UT (before I read that the OP is in Cali) simply because of the UT network. It constantly amazes me how many people either went to or support UT.

Then again, I'm in Dallas, so take that with a grain of salt :)

UT-Austin is impossible to get into if you're out-of-state. The acceptance rate for out-of-state kids is lower than Harvard's overall acceptance rate.
If this is true, I'm not sure how CS is different. One of the CS profs involved in the Turing program told me they make a real effort to bring in out-of-state kids especially because they want it to be a national program. That may also be true of the department in general.
If you're certain you want to major in engineering or CS. I've read really good things about Olin (http://olin.edu) If I were applying to colleges now, I'd apply there.

http://wsjclassroom.com/teen/teencenter/05dec_olin.htm http://www.spectrum.ieee.org/may06/3432

When I applied there, I was told they only offered computer engineering courses, not computer science. That was before they had actually opened the school, though, so maybe that's changed.
All I can say is, make a list of places and go visit.

I ended up at a (very) small private school about 400mi away. When I visited, the head of the CS department talked with me in his office for over an hour. From that conversation, I learned:

A) He is completely brilliant and extremely competent

B) He teaches about half of the upper-level CS courses

C) His dissertation was in an area that strongly interested me

After that it was a no-brainer. Obviously, going to a smaller, lesser-known school, I don't stand out as much on a resume. But at the "good companies", it matters more what you've done with your spare time than where you went to school.

Turns out other competent people also followed my line of reasoning. My first year there, I found two cofounders for a startup. So not only do I have a good mentor (at least as far as the tech part goes), but we all get some leeway on assignments if we were up until 1am adding a new feature to our codebase.

He must be a genious if he is an expert in half of all the available CS topics!
Undergraduate CS is like high school, after you pick up a masters you should be able to teach most of the classes.
> He teaches about half of the upper-level CS courses

Wow, how many upper-level courses were there? Even teaching 2 courses in a semester is considered a lot for most professors'.

You have to remember,

A) it's a small school

B) he enjoys teaching

I really didn't like the attitude of the larger schools where they would have an associate professor who teaches CS1 talk to you about computer games. I realize that profs like him are unusual. That's why I chose the school.

If you're interested in Math, I can recommend Rutgers - the math dept, esp. the honors track, is as good as any Ivy. The CS dept. is good, too, esp. if you're interested in the subject.

I would imagine any major public research university having the same ...

Go after those top-tier schools.

If you're slacking off on homework working through SICP, you're probably top-tier worthy. People who go after their interests are by definition more interesting.

Don't weigh yourself on the standard metric because you're not standard. And don't let that hinder the selling of yourself in your applications. I would much rather hire a person who has started a startup before than one from a corporate environment, and I think this principal holds true for colleges as well - they would much rather accept someone who does what they're interested in and pursues things beyond the norm.

College is the first great opportunity for young people to learn how to sell. Think of yourself as a package - what differentiates you and makes you special? Then, arrange your application that way. It's foolish to put your SAT scores and grades up front as your flagship 'feature' that differentiates you from others, even if you've aced them. Take some time arranging your application centered around your strengths and things that you're proud of, and make them want to have you, or regret it every night for rejecting you.

Again, go after those top-tier schools - being rejected is not as bad as regretting not applying to them.

Oh, I'm certainly going to apply for the top-tier schools. I'd just like to have some other options open.
>It's foolish to put your SAT scores and grades up front as your flagship 'feature' that differentiates you from others, even if you've aced them.

I'm curious, have you ever known any smart, successful people that couldn't do well on the SAT?

FWIW, I don't think top-tier schools care about "interesting" people. When I was in high school, I got mostly As and Bs, studied abroad (and hence spoke two langauges pretty well), and spent most of my time learning math and writing software. I also had 99%-ile test scores and was pretty good at writing. However, I also had a run-in with a history teacher, and failed his class. That pretty much guarantees that you won't get into a good school. I applied to CMU, CalTech, and MIT and didn't get in. I did get in to UIUC and UIC, and chose UIC since it was closer. HUGE MISTAKE. My classmates didn't speak English, my professors didn't speak Enlgish, and I had no friends. I dropped out after 2 years.

All in all, this is irrelevant. My goal was to become a professor, but I learned that industry was much more lucrative than acadamia. If I want to do research, I can do it from my house. The classes I teach professionally pay more for 2 days than most professors make in a month.

So in the end, it all worked out. It would have been nice to have a "formal education", though. Maybe I will move to Urbana-Champaign and get a degree from there... or maybe not.

</rant>

What state do you live in? If you're in California, a good option would be community college for two years and then transfer to UC of your choice (Berkeley is on par with MIT as far as EE/CS goes). I am sure your state has excellent universities and similar programs.

I'd say any university in the UC system is an excellent bet, as is University of Washington, U Michigan, UMN Twin Cities, etc. You'd get an excellent CS/EE education any one of those places.

Of course try UC Berkeley. It's a bit of a crapshoot - I know people who have gotten into MIT and rejected from Berkeley but also the other way around.
Are we really at the point where the only schools that count as "top-tier" are MIT and Caltech now? I can't believe people here are talking about Berkeley like it's some sort of a fallback option.

Look at http://grad-schools.usnews.rankingsandreviews.com/grad/com/s...

Sure it's for graduate schools, but I have to imagine that it tracks pretty close. In my experience, most of the programs there in the top 20 are all pretty comparable.

(FYI, University of Michigan, loved it)