Good Computer Science School

<p>Best programs in the northeast: MIT, CMU, Cornell, Princeton, Penn, Brown... also look into Maryland as a safety or if costs are a concern</p>

<p>If you are willing to consider schools a little further west or south: Illinois, Wisconsin, Michigan, Georgia Tech, UNC & Rice are all very good.</p>

<p>I think I misspoke when I asked about Ivy League. I guess I mean, how much of a difference is there between CS programs in different schools, like Queens College (example of a safety) and Carnegie Mellon University (example of a reach). Is CMU, MIT, etc just a name, or will it prepare me a lot better for working in a CS field?</p>

<p>
[quote]
In my opinion, do NOT get a BACS degree. You just don't get the depth from a BA. It would be interesting to hear what kind of jobs recent BACS graduates have obtained.

[/quote]
</p>

<p>Really? Berkeley offers a BACS (in addition to a BS in EECS). Seems to me that the BACS graduates do quite well for themselves. In fact, they seem to actually make * higher * starting salaries than the BS EECS grads do. Nobody seriously disputes that Berkeley is a top-draw computer science school. </p>

<p>(Of course, it should be said that a big reason for that is the the BACS program is one in which you have to take the lower-division prereqs and then apply to declare the major with no guarantee that you will be permitted, which means that those who perform poorly won't even be able to declare the major. In contrast, the EECS program admits students straight out of high school, some of whom will do relatively poorly once at Berkeley, but still be able to maintain the minimum 2.0 GPA necessary to graduate).</p>

<p><a href="http://career.berkeley.edu/Major/CompSci.stm%5B/url%5D"&gt;http://career.berkeley.edu/Major/CompSci.stm&lt;/a>
<a href="http://career.berkeley.edu/Major/EECS.stm%5B/url%5D"&gt;http://career.berkeley.edu/Major/EECS.stm&lt;/a&gt;&lt;/p>

<p>
[quote]
At CMU, Google, Microsoft, and Intel all have research facilities on campus. It's a simple phone call from a professor to get a student into an internship. There are so many different research projects on campus that you can be assured you will find one that interests you. For example, my son was jazzed about two projects - one was writing software to customize musical backup to a lead singer's rhythms, timing, etc., and the other was writing software to do automated auctions, essentially replacing human sellers (the program adjusts to the nuances of the company doing the purchasing the way a human would, for example, higher prices for companies without other options, lower prices for companies that might go elsewhere). I think a majority of students do research. I have not investigated the other two schools because my son does not have the SAT scores

[/quote]
</p>

<p>It seems to me that you're placing far too much emphasis on 'research', although perhaps the issue is that we may be defining 'research' differently. At least to me, the 2 projects you described there are not truly 'research'. They're just standard software projects, not significantly different from the thousands of other software projects that are being built throughout the world at any point in time. 'Research' to me connotes the building of theoretical knowledge to the level that your work might actually be publishable in a peer-reviewed journal. If I write the next great computer game, I wouldn't really call that research (unless perhaps I have come up with some highly novel way to code graphics or invoke more intelligence within the computer opponent through some AI innovation). Similarly, i wouldn't call developing music backtrack software and creating automated auctions seems like the application of rather well-understand algorithmic and sampling techniques to a particular problem, and are therefore probably not truly 'research'. </p>

<p>Granted, there is a fine line between research and just a standard project, and nobody really needs to do 'research' to get an excellent job anyway. Many of the most important computing applications of today don't really require true 'research' to make them successful. For example, it's not THAT hard to code up a new MySpace, Facebook, YouTube, even a Yahoo, because all of thee sites use well-understood Web programming techniques. The trick, of course, is whether you can get users. Hence, these companies rely less on true 'CS/engineering' ability than they do on marketing and business strategy. I could put together a team of programmers and create a website just like MySpace in a rather short period of time. The problem is that even if I did, nobody would use it, because there is no incentive for people to use my site rather than Myspace, because all of their friends profiles are probably also on MySpace and you want to use the site where all your friends' profiles are so you can connect to them. But of course the original MySpace employees are laughing all the way to the bank after the company got bought for $580 million by News Corp. </p>

<p>
[quote]
Before you can begin coding a large software program you must design it. Sometimes, the design can be the hardest part. It's like the difference between being an architect and a builder. There are all kinds of problems you can run into when attempting to do something new with software, and there are lots of papers written about how to solve those problems. One of my friends did a lot of reading about the GUI research being done at Xerox PARC before he wrote the first commercial windowing OS (since replaced by Microsoft Windows). I used to work on database design and the concept of a relational database was the subject of a lot of research papers way back then.

[/quote]
</p>

<p>Here I think our opinions intersect. I agree here that these examples do fall under research. The first usable GUI was obviously a bonafide research project. But nowadays, putting a GUI face on an application is not really 'research'. </p>

<p>But like I said above, you can have an excellent career, and even become a multi-millionaire, as a programmer without ever engaging in real 'research' or doing anything truly cutting-edge from an theoretical standpoint. Like I said, most of the Web companies that have come out in the last few years are not truly 'cutting edge' from any theoretical standpoint. </p>

<p>
[quote]
The graduates in the BSCS program at CMU had high starting salaries even with a 3.0 grade point average. I'm afraid to quote exact numbers because I don't always remember correctly. My son remembers $75K as being the average.

[/quote]
</p>

<p>67.5k to be exact.</p>

<p><a href="http://www.studentaffairs.cmu.edu/career/employ/salary/scs.pdf%5B/url%5D"&gt;http://www.studentaffairs.cmu.edu/career/employ/salary/scs.pdf&lt;/a&gt;&lt;/p>

<p>
[quote]
If you are willing to consider schools a little further west or south: Illinois, Wisconsin, Michigan, Georgia Tech, UNC & Rice are all very good.

[/quote]
</p>

<p>UT-Austin is much stronger than Georgia Tech, UNC, and Rice if you are going outside the NE</p>

<p>"How much of a difference is there between CS programs in different schools, like Queens College (example of a safety) and Carnegie Mellon (example of a reach). Is CMU, MIT, etc just a name, or will it prepare me a lot better for working in a CS field?"</p>

<p>I think there's a world of difference. You can learn CS at either of these schools, Queens or CMU, just the same as you can major in English, engineering, math or history at Harvard or at your local state college or non-competitive U (given they have engineering curriculum). You'll still come out with an English/engineering/math/history degree. But good chance you'll be in a different place professionally, if you want that, 10 years down the line.</p>

<p>I think a main difference (my son's a CMU SCS grad) is depth of the program, and pace. At a school like CMU or Cornell you're learning from the best; you can go into any direction in CS that interests you because they'll have a program for it and experts to instruct you; the pace is very rapid; you have to at least minor in something else (at least at CMU) so it's not all CS. </p>

<p>You're classmates as a group have high ability and thus can cover much more material quickly. The CS advisor told me the amount of material covered in first 2 years at CMU SCS is more than what's covered in other strong programs in 4 years.</p>

<p>As an aside, if you come from a rigorous program, there's not much an interviewer can throw at you without your having seen it somewhere in your studies.</p>

<p>"67.5K to be exact".</p>

<p>That's '04-'05. Last couple years have been good ones; 75K may be close to correct (two 5% increases the past 2 years and you're at 75K).</p>

<p>Here are the National Research Council rankings. Of the top 20, here are those in the Northeast, in ranked order:</p>

<p>MIT - Cornell - Harvard - Brown - Yale - NYU - UMass Amherst</p>

<p>If money is a concern, check out the one public university on that list.</p>

<p>Question: are you interested in computer programming, or computer science? they're two very different things, and they're emphasized differently at different schools.</p>

<p>My S's experience at CMU is pretty consistent with what I'm reading here. Two great internships (last year and this coming summer) and some really intense courses. He took some CS courses at another school before he started CMU and the difference seems to be less what they taught and more how you're given the chance to apply what you learn. Especially in the upper level classes. </p>

<p>This semester he's cranked out some obscene hours in the operating systems course, competing with top notch students to see who would be the first to deliver an "A" quality effort and loving every minute of it. He enjoyed it so much so he's made a deal with his professor to take an operating systems practicum next year, working on real world operating system upgrades for a well known game system console. That's a chance that most other students would kill for. </p>

<p>To top it off, he and a couple of other students got to have lunch with Microsoft's VP of Research and Development a couple of weeks ago. The man's a legend in the area my S wants to go into and he couldn't have been more thrilled, "evil empire" connection aside.</p>

<p>The thing is, I'm not convinced that a hard working student at any of the top schools, public or private, wouldn't have similar opportunities. He picked CMU because he liked the campus and the faculty he met better than his other choices. There's just more to this choice than school reputation alone.</p>

<p>Thanks for the advice, Strick11. CMU still sounds like it has great courses, but it's good to know that other schools teach the same general information.</p>

<p>Arkleseizure <sneezes into="" a="" hankie="" out="" of="" respect="" for="" the="" great="" green="" one="" :d="">, I am definitely interested in computer programming. What is the difference between that and computer science? Because I'm interested in many aspects of computers, and if computer science includes programming as well as other topics, that might be good for me too.</sneezes></p>

<p>When I did an overnight visit at CMU I went to the sessions on Comp. Sci etc. You start learning Comp. Sci right off the bat in the first semester, there isn't a mountain of general req's to fill beforehand. Thats probably one of the reasons why CMU covers more in Comp. Sci than other similarly ranked schools.</p>

<p>computer programming is a tool used in computer science. in fact, becoming a computer programmer or becoming good at it does not require a college degree. </p>

<p>Most UG CS programs prepare you for Graduate work in CS. </p>

<p>If you want CS just for programming you may be heading down the wrong path, since many posts on cc have stated that the hardest part of CS is not programming but theory and math related coursework.</p>

<p>Well, here's the deal. I really like programming, and I'd like to program as a profession. But I'm also interested in other aspects of computers, and I really like math. What exactly does CS prepare you to do? And what kind of theory are you talking about?</p>

<p>
[quote]
"67.5K to be exact".</p>

<p>That's '04-'05. Last couple years have been good ones; 75K may be close to correct (two 5% increases the past 2 years and you're at 75K).

[/quote]
</p>

<p>The last couple years have been good ones? Well, I can't speak for CMU specifically. But I can tell you the last 2 years have not bee good for CS nationwide. For example, in 2006, the starting salaries for CS grads nationwide actually * declined * by 2%. And then in 2007, the nationwide starting salaries increased, but by only 2%.</p>

<p><a href="http://money.cnn.com/2006/02/13/pf/college/starting_salaries/index.htm%5B/url%5D"&gt;http://money.cnn.com/2006/02/13/pf/college/starting_salaries/index.htm&lt;/a>
<a href="http://money.cnn.com/2007/02/08/pf/college/lucrative_degrees_winter07/index.htm%5B/url%5D"&gt;http://money.cnn.com/2007/02/08/pf/college/lucrative_degrees_winter07/index.htm&lt;/a&gt;&lt;/p>

<p>So actually, in the last 2 years, nationwide, CS salaries have actually * declined * overall. After all, you have to think about what a 2% increase/decrease means. The 2% decrease was off a bigger base figure, compared to the 2% increase, and so that's why an x% decline is bigger than an x% increase. {Similarly, if you increase your salary by 100% in one year, and then have it decreased by 50% the following year, it means that your salary is exactly the same as it was 2 years previous). </p>

<p>Now, I agree that CMU may have been able to buck the trend and actually have increased its CS starting salaries in the last 2 years. That's possible. But if that's the case, then it definitely defied national trends.</p>

<p>Do not get a BA (I don't know why UCB would have that), nor an MIS. If you want real CS make sure it is its own department, NOT part of Engineering, Business, or Math. CS is truly an interdisciplinary field embracing everything from linguistics, library science, finance, psychology, logic, and math. To give you an idea of how CS programs differ, I once discussed requirements with a graduate from the University of Nebraska. We both nominally had a CS degree, but he never studied anything about compilers, operating systems, logic... So obviously all degrees are not equal. The college does matter. And the last thing you want to do in a job interview is to waste time describing your education from a college the interviewer has never heard of. Other than the northeast ones mentioned above, the west coast has some of the best schools.</p>

<p>
[quote]
Do not get a BA (I don't know why UCB would have that),

[/quote]
</p>

<p>The answer is administrative. The Berkeley College of Letters & Science is authorized to award only BA degrees. Hence, if you want to study CS under the auspices of L&S, you will be awarded a BA. If you want a BS in CS, you will have to do it the Berkeley College of Engineering, by which you will be formally awarded a BS in EECS. </p>

<p>Nevertheless, it seems to me that the Berkeley BACS grads are doing very very well for themselves.</p>

<p><a href="http://career.berkeley.edu/Major/CompSci.stm%5B/url%5D"&gt;http://career.berkeley.edu/Major/CompSci.stm&lt;/a&gt;&lt;/p>

<p>
[quote]
If you want real CS make sure it is its own department, NOT part of Engineering, Business, or Math.

[/quote]
</p>

<p>Oh really? So then by that logic, nobody should go to MIT either. MIT doesn't run its computer science program in its 'own' department. Instead, you have 2 ways to get a CS degree - one through the EECS department, which would make it a true engineering degree (the so-called 6-2 and 6-3 courses), and the other through the math department (through course 18C) </p>

<p><a href="http://www.eecs.mit.edu/ug/brief-guide.html#bach%5B/url%5D"&gt;http://www.eecs.mit.edu/ug/brief-guide.html#bach&lt;/a>
<a href="http://math.mit.edu/undergraduate/degree-options.html%5B/url%5D"&gt;http://math.mit.edu/undergraduate/degree-options.html&lt;/a&gt;&lt;/p>

<p>Maybe you'd like to rethink your requirement that one should make sure that CS is in its own department? Seems to me that MIT runs a darn fine CS program without having to run it solo.<br>

[quote]
And the last thing you want to do in a job interview is to waste time describing your education from a college the interviewer has never heard of.

[/quote]
</p>

<p>Somehow I doubt that's going to be a problem if you came out of Berkeley or MIT, despite those schools apparently not running programs that meet your approval.</p>

<p>
[quote]
Well, here's the deal. I really like programming, and I'd like to program as a profession. But I'm also interested in other aspects of computers, and I really like math. What exactly does CS prepare you to do? And what kind of theory are you talking about?

[/quote]
</p>

<p>Actually, you don’t need to go to top school to become a good programmer. In fact, you will run into very good programmers without proper college education. But, what these low level programmers/system administrators are lacking is their fundamental understanding of the higher level knowledge of performance computing/algorithm developments.</p>

<p>In a laymen’s term, comp programming is just a small part of CS, actually very very low level activity. The meat of the CS more or less lies in algorithms, logics & system architecture integration in which your math background will be very useful.</p>

<p>You will learn more than just writing a code in c or java & a rote code execution- you will become a computer scientist.</p>

<p>One more thing: CS is a very rapidly evolving field with lots of areas to cover, and you don’t want to get behind ==> choose a school with BIG CS DEPT that has excellent fresh faculty composed of multiple background with many ongoing research activities… like MIT,BERKELEY STANFORD CMU, just to name a few</p>

<p>That’s why there is a big difference in CS or EECS degree!!! from the top of the crop BIG, state-of-the-art CS schools like MIT Berkeley Stanford and say a small time LAC CS deg.</p>

<p>Obviously others know the current details of all the CS programs and obviously UCB and MIT are great schools and any degree from them will be very meaningful. However, it proves my point that these schools don't "get" what CS is really all about if they think it really has so much to do with Electrical Engineering or Math. Other schools undoubtedly include CS as a program in other departments such as Business, etc. These are usually for historical reasons. But a college that REALLY understands what CS is knows that it is not part of electrical engineering nor math. To see CS in a catalog under such departments might be a red flag that they are behind the times. As I recall, Cal Tech was in the same boat as well. In fact, it may still be that only a minority of colleges have a separate department for CS. In fact, I can think of only one prestigious school which not only ALWAYS had a separate department for CS, but had one since the 1960s.</p>

<p>Carnegie Mellon?</p>

<p>
[quote]
To see CS in a catalog under such departments might be a red flag that they are behind the times.

[/quote]
</p>

<p>So, again, you are contending that MIT is "behind the times" when it comes to CS, and that MIT doesn't "get" what CS is all about? Really? </p>

<p><a href="http://www.eecs.mit.edu/ug/brief-guide.html#bach%5B/url%5D"&gt;http://www.eecs.mit.edu/ug/brief-guide.html#bach&lt;/a>
<a href="http://math.mit.edu/undergraduate/degree-options.html%5B/url%5D"&gt;http://math.mit.edu/undergraduate/degree-options.html&lt;/a&gt;&lt;/p>