views:

935

answers:

12

I am a high school senior in the middle of the college application process. I am applying to Stanford, MIT, Carnegie Mellon, Cal Poly, UC Berkeley, UCLA, UC Davis, and University of Washington. I have a reasonably good chance of being accepted to many of them.

I want to major in Computer Science in college. Has anyone attended any of these schools? If so, what was your experience (overall + CS-specific)? Thank you!

Dylan

+1  A: 

If you are interested in a CS degree with software development, I would recommend Neumont University out of Salt Lake City, UT. It is not prestigious in the sense of MIT, but it is the best software development school that I know of. Everyone I have ever met graduates with a job in software development. They are completely focused on project based development. You are learning C# and SQL in your first quarter there, and by the end you have developed numerous software development projects in C#, ASP.NET, Win Forms, J2EE, PHP, etc. You will even have had work with REAL companies before you graduate.

If you are looking for a highly recognized degree, I would say go with your current choices. If you are looking for a job in software development, management, or anything like that in 28 months then Neumont is for you. I went there and didn't finish because I started a software development company.

Matthew Kruskamp
+1 - I also attended Neumont University. ;)
Vyrotek
I'm not familiar with Neumont, but the way you've described it, it really sounds more like a vocational "get a job" CS school, rather than a university where you learn theoretical topics rather than practical concerns.Given the schools he's applying to, I don't think that's what he's looking for.
Sean Schulte
It definitely sounds more Software Engineering than Computer Science
Nouveau
Software Engineering != Computer Science. He isn't looking to learn the latest flavor of .net programming. He is trying to learn computer science.
Simucal
+3  A: 

I went to school at CMU (what Carnegie Mellon used to call itself, before they lost a lawsuit with Central Michigan), majoring in Biology and minoring in CS. I took a CS class every semester I was there, except for my first semester when I didn't know how good of a CS school it was.

Carnegie Mellon is the only school in the US that has work in the motto, and they were proud of telling us that every graduation. "My heart is in the work", and people who didn't work didn't make it. Of the people on my freshman floor, 60% failed out, because they thought that college was basically a four year kindergarden class and were shocked that they would actually have to learn things. Makes your degree really mean something, when it's possible to actually fail out.

That focus on work makes the school social atmosphere a bit stilted. Of the seven schools that compose the university, six are quite good. The one that lacks (or lacked when I was there) was the humanities department. It's hard to have cohesion between schools when the very field designed to do that, the humanities, are weak, and the only reason I knew people from various schools was because I joined a fraternity rather than staying in my dorm room and working.

The skills that are taught, however, are incredibly useful. The first class I took was Computer Skills Workshop, where I learned how to use Unix and Linux, and I still use those skills today. CS 127 was the weedout class for entering CS from the outside, and learned fundamentals of data structures and the like. I camped out overnight to get into 211 and 212, a practice which stopped when web registration was allowed, and those courses were absolutely fantastic. The language in the 211 was C, and then Java (for the first year it was in the wild) for 212, and I kind of wished I had taken the ML version, because the language didn't matter so much as the concepts, and the ML course was rumored to have more complicated concepts. The AI courses covered the gamut.

I graduated with a minor in CS. Of the people in my fraternity, I had the lowest salary of our graduating class, at $50k, because it wasn't a major. I worked for seven years in basic science research, and am now back in graduate school, and I use the skills I learned at CMU constantly.

I would definitely check Carnegie Mellon out. I really enjoyed my time there, and learned the skills I would need to succeed (so far) after college.

mmr
"Carnegie Mellon is the only school in the US that has work in the motto"That is patently false. The school I go to, Marist College, may not be as well known as CMU, but our motto is "Orare et Laborare" or "To Pray and To Work". (It's a secular college now, though.)
evizaer
Good to know; it was one of those facts that they used to throw at us. Maybe we're not as special as they kept saying we were :)
mmr
+1  A: 

I didn't go to any of these schools (UCSD for many years), but I've hired and worked with people from most of these. I've had good luck with MIT, CMU, Berkeley, and Stanford.

As a general comment, look for a school that forces you to write (not study; actually write a working) operating system or a compiler. If you can do either of those you've got a pretty good education.

Parand
+4  A: 

I have a bachelors and masters in Computer Science from MIT.

Pros:

  • You get to work with professors who are leaders in their fields. Sometimes this happens in the classroom. Other times this happens doing research. MIT has lots of opportunities for undergrads to get research jobs in MIT labs, for pay or course credit.
  • It will get you a job. There is an excellent job-placement program, and good companies are always looking to hire. The school has excellent name recognition. You can also get excellent summer internships which pay well, and are a great learning experience.
  • The course work is demanding, and you get a good grounding in most of the concepts important for CS jobs.
  • MIT actually has a really good and diverse social life. This includes a big Greek system, lots of intramural sports, lots of clubs. Nerds and non-nerds alike will find people to hang out with.

Cons:

  • Some of the practical aspects of CS are ignored, or left for you to learn on your own. For example, MIT doesn't have an undergrad class in databases. You have to pick up operating systems, programming languages, and such on your own. But those research jobs and internships I mentioned can help a lot with this.
  • The course work is demanding. Some people do get overwhelmed, and end up having a terrible time of it.
A: 

Those are all technically excellent schools (none of which I attended). My suggestion would be that you pay the attention to the campus culture. You're going to live and breath this place for the next few years of your life, make sure its someplace you like the air.

Visit as many of the schools as you can (all would be good, but given their geographic diversity that might be hard depending on your finances). Talk to current students, and check out their school papers online. If you can meet with faculty do that, if you can attend a few classes do that too. Look at their freshman drop out rates (they were all good enough to get in, and thought they could handle it, and they were all wrong), and their 5-year graduation rates. When financial aid packages come, look for offers that are not contingent upon your performance. Even if you are talented enough that you shouldn't have to worry, that's one less thing to stress about when you discover that Prof. Smith's TA didn't teach FFTs quite right and now you're screwed on the upcoming exam.

acrosman
A: 

You are applying to some very competitive schools. I think you should VISIT the schools before you make a decision. That was the best advice I got and it worked well for me. I went to school at one of the Ivies and chose it because of my experience visiting and meeting with students on campus.

It is easy to get lost - especially as an undergrad.

You can't really go too wrong with the ones you mentioned but make sure you like the experience - not just the name of the school and its reputation.

Good luck.

Tim
+2  A: 

(Sorry Tim, I can't comment yet because I don't have enough reputation!)

I have visited most of these schools, and I will have visited all of them when it comes time to make the final decision. It is interesting that you mention the 'experience' factor. My college counselor always reminds us that nobody should choose to attend a school that gave them only lukewarm feelings when they visited.

Out of my list, I am really hoping that I get into (and can afford) Stanford, as it has an excellent program and most everything I want in a school. However, I am a little worried about the competitiveness. I have already grown tired of the academic competition, rather than fellowship, at my high school.

The funny thing is, UC Davis gave me the 'best feeling' when I visited. Though their CS program isn't tops (but certainly good), the people were really nice and I just liked the environment. At Davis, I could also take advantage of some honors programs that offset some of the downsides to big schools.

But I still really have no idea. Thanks everyone!

PS If there are any more alumni out there, keep the advice coming: )

Dylan V
A: 

If you want to see what the classes are like at MIT or Stanford you might want to watch some of their lectures online and try doing some of the assignments. I only attend a local college for computer science and watch these lectures helps expand my knowledge base. I find these lectures to be more entertaining than some of the classes I've enrolled in and the assignments given are challenging.

Kinze
+1  A: 

I've been doing my PhD at Carnegie Mellon for several years (graduating this year).

Academically, it is still a great school with a lot of students going for fairly good jobs in the industry. I have taught several courses and while I felt that they were much easier than what I did in my alma mater (Technion, Israel), that seems to be the case for most undergraduate programs in the US. Some of the early courses are given in different sections but same materials to majors and nonmajors, which may be the explanation for this.

CMU also has dedicated teaching faculty to teach a lot of the entry level courses which is great, I'm not sure how it is in other schools.

I can tell you that over the past 6 years that I've been here, the school (both SCS and CMU as a whole) changed significantly in its social structure. It's much more diverse, and the male-to-female ratio is very reasonable even in CS. So it is no longer the old "geeks only school" that it was supposed to have been. Nevertheless, it is not a party school. There is also fairly good financial aid for most students.

Pittsburgh itself is not as horrible a city as one may expect. I actually learned to love it. However, if you are from the west coast any move out here will be somewhat of a shock. Rents are very very cheap here once you make it out of the dorms, but you may want to own a car.

PM me if you want more details.

Uri
+2  A: 

I'm a graduate student at a lower-tier university.

All the schools you list are top-quality. I wouldn't be concerned about quality of education at any of them. Or, for that matter, post-college jobs.

Therefore, you have to look at the ineffable academic qualities. How much face time can you get with a prof outside of class? What research opportunities can you get as an undergraduate? Realistically? Which school provides the best living situation?(hint, best for you is not super social. Medium to mild is better)

Which city provides the best off-campus jobs for your first two years? Which city has the best engineering culture? Are you more at home in Californian culture, or Seattle? Or Boston? Or Pennsylvania is? The cultures are different between these areas, and you will work better or worse in each, depending on where/how you were raised.

Which areas are friendly? Do people stop cars when you cross the street? Do people give directions easily to a new person?

You're not just choosing a school. You're choosing your home for the next 4+ years, and you'd best spend time thinking on extra-curricular considerations.

Personally, if I had the chance, I'd go for UW. But that's 'cause I prefer Seattle to the other areas listed. You should like rain though if you go there. :-)

Paul Nathan
+3  A: 

I went to school at the University of Washington, when I first got out of high school, and then again much later. The coursework along the computer science track was very intense, and you should be prepared for a lot of work, though from the list of schools you're mentioning, I'm guessing you understand that.

At least as important as where you go, and in my opinion far more so, is what you put into it. When I first entered college I was mentally unprepared for it, and tended to do quite poorly. This had nothing to do with the University of Washington, of course.

Later after several years in the field, I finished my degree at Stony Brook University. This time I graduated with a 4.0, and as valedictorian. More importantly, I learned an enormous amount, and left with a solid understanding of many of the aspects of the science. Was Stony Brook University that much better? Absolutely not. In nearly every respect (of my admittedly narrow experience) I would consider it an inferior school. And yet I did much better, and learned more. This is entirely based on the effort I put into it. I was there because I wanted to be there, because I wanted to learn, was interested in the material, etc.

I have no doubt that having MIT or Stanford etc. on your resume will help in getting you your first job. And these schools can give you a step up, academically: they are top tier schools with excellent professors and CS programs. And, doubtless, you can compare ratings for the schools online, and do various thinking about worth vs. cost. But when all is said and done, you'll get out what you put in, regardless of where you go (within reason), and when you've been in the field for a few years, people will be impressed far more by your experience and your ability to understand their concepts and ideas what you can do then where you went to school. This isn't snobbery on the part of the employer, but rather because is that in the great majority of cases nearly all of what you learn throughout your CS degree will not directly assist you in your job. Don't get me wrong...I loved going to school, I loved learning, and I feel that getting as wide a background in CS as possible will help you pick up what you need to know to be successful. But the classes you take for Assembly Language, Operating Systems, Networking, etc...most of those will not directly help you much in a web-programming position. (That class/job example isn't meant to apply for everyone of course...I just use it to highlight that the by its very nature, the breadth of the classes that you take in college will mean that most of it will go unused).

Long post, but in a nutshell: enjoy school. Learn all you can. Branch out and take interesting things. Just don't think that it will be the end of your education. It will be a good foundation for your beginning.

(Oh...and please don't think I'm trying to denegrate the value of the schools you mention...I would love to go to MIT myself! I only wish I hadn't messed up my early academic career.)

Beska
A: 

just make sure you have some fun in college - you get good technical knowledge in grad school, but undergrad is so basic that you won't use much of it in your real jobs. i see undergrad as a 'mature and learn how to interact with people' type of thing.

i didn't go to the best school I got in to, and i am satisfied with my choices, similar to the Stony Brooke poster.

Dustin Getz