What are the best colleges for computer science?

<p>I see.</p>

<p>On the us news list, I only see the type 5, I don't see anything more, im_blue?</p>

<p>
[quote]
Wait a minute sakky. Didn't we argue not too long ago about whether the brand-name of the school matters more than the school's specific strength in say a certain PhD or graduate program? I said that a Harvard or Stanford degree is going to be better than a Berkeley degree even if Berkeley ranks #1 in that particular graduate school discipline. You obviously disagreed with me, but now I see you are taking a different standpoint. How can you reconcile this?

[/quote]
</p>

<p>You are deliberately twisting my words around. I am not taking a different standpoint. My point is exactly the same as it has always been. If you are absolutely 100% sure that you want to do CS, to the point that you want to dedicate your career to it, then you should turn down Harvard for Illinois or CMU. </p>

<p>The problem is, how can you be so sure? This isn't graduate school we're talking about here. Notice how the OP is a high school student. Therefore the OP needs to worry about undergrad. As a graduate student, you can't easily change disciplines. As an undergrad, you can. Many do. </p>

<p>I would remark that a significant percentage of people who walk in as undergrad freshman thinking that they are going to major in CS end up not doing so. Happens all the time, even at the best schools. For example, plenty of people walk into MIT, Stanford, or Berkeley intending to major in CS, but never coming out with CS degrees. Sometimes it's voluntary. For example, some people legitimately find something more interesting to study. For others, it's involuntary. For example, plenty of people find they can't make it through the weeder CS courses, so they are forced to switch majors. Some really unfortunate people get grades in those weeder courses that are so bad that they cannot maintain good academic standing, so they are expelled entirely from the school. This tends to happen a lot at the 'rougher' schools like Berkeley, Illinois, or CMU. So what happens if you turn down Harvard to go to Illinois intending to major in CS, and then find that you can't pass the weeders? </p>

<p>My last remark is that undergrad and grad degrees are completely different in focus. You may remember, Gutrade, that I had no previous objection to you in that other thread in which we clashed, when you were simply restricted yourself to undergraduate programs. It is when you invoked graduate programs that I had to object. The fact is, an undergraduate degree, even in a practical field like CS, is really a generalist's degree. Plenty of people will get undergraduate degrees in CS without having any intention of actually working in a computer job. For example, at MIT, one of the biggest employers of EECS undergraduates is McKinsey, the management consulting firm. Another large employer of MIT EECS undergraduates is Goldman Sachs. Furthermore, many companies will hire people for computer positions that don't have computer science degrees, rejecting people that do have computer science degrees. For example, I know one guy who a few years ago got a job at Sun Microsystems as an entry-level software engineer. That guy didn't have a CS degree. He had an English degree. At the same time, Sun rejected many other people who did have CS degrees for that same position. </p>

<p>The fact is, companies don't really care all that much about what sort of undergraduate degree you have. That's why McKinsey doesn't hire just EECS students for its analyst positions , but students from a wide wide variety of disciplines. You can literally major in anything for undergrad and still get hired at McKinsey. Certain disciplines like business, econ, CS or engineering will give you a better chance of getting into McKinsey. Yet I've seen people with undergrad degrees in history or music get into McKinsey. I've seen plenty of people who don't have an undergrad CS degree get hired for software jobs. </p>

<p>Graduate programs are completely different. Let's face it. If you're going to get a graduate degree in something, especially a PhD, that means you're declaring that you want to spend your career in that field. Nobody goes out and gets a PhD just "for the hell of it". You get a PhD because you have a strong interest in becoming a researcher or academic in that field. Hence, what is important is that you establish yourself as a credible researcher or academic in that field. That is why having a PhD in engineering from Yale isn't going to do you all that much good. Sure, regular people are going to see the name "Yale" and will be impressed, but you're not trying to impress them. If you're getting a PhD in engineering, you want to be able to impress the academics and researchers in the field of engineering, and they know full well that Yale does not have a strong engineering graduate program. Otherwise, why exactly are you getting that PhD?</p>

<p>
[quote]
On the us news list, I only see the type 5, I don't see anything more, im_blue?

[/quote]
</p>

<p>You have to have bought the USNews Premium edition to see the whole list.</p>

<ol>
<li> Carnegie Mellon University (PA) 4.9
Massachusetts Institute of Technology 4.9
Stanford University (CA) 4.9
University of California–Berkeley 4.9 </li>
<li> University of Illinois–Urbana-Champaign 4.6 </li>
<li> Cornell University (NY) 4.5 </li>
<li> University of Texas–Austin 4.4
University of Washington 4.4 </li>
<li> Princeton University (NJ) 4.3 </li>
<li> California Institute of Technology 4.1
University of Wisconsin–Madison 4.1 </li>
<li> Georgia Institute of Technology 4.0
University of Maryland–College Park 4.0 </li>
<li> Brown University (RI) 3.9
University of California–Los Angeles 3.9
University of Michigan–Ann Arbor 3.9 </li>
<li> Rice University (TX) 3.8
University of North Carolina–Chapel Hill 3.8
University of Pennsylvania 3.8 </li>
<li> Columbia University (NY) 3.7
Duke University (NC) 3.7
Harvard University (MA) 3.7
Purdue University–West Lafayette (IN) 3.7
University of California–San Diego 3.7 </li>
</ol>

<p>But remember, these are graduate CS department listings. Not undergraduate. Hence, I think it slightly misses the point. It is true that Harvard does not have a strong graduate computer science department, relative to places like Illinois. However, that does not mean that you cannot go to Harvard for undergrad to prepare yourself for a top graduate CS program. For example, I'd probably just go to Harvard and major in math, and take a few extra CS courses on the side, or even double in math and CS. Harvard's math department is very strong. A lot of CS just breaks down into math at the end of the day.</p>

<p>"A lot of CS just breaks down into math at the end of the day."</p>

<p>Which part of CS breaks down into math? A good computer person may or may not be good enough to be a math major ... nor is it necessary. The two fields involve different kinds of thinking.</p>

<p>I can only vouch for CMU (my son just graduated CS), but it isn't true that CS kids don't make it through in any significant numbers, at least there. It may be because you are admitted directly into SCS. I believe about 120 begin the program and about 95% finish, according to the CS advisor who spoke at each of the Parent Weekend talks I went to. For instance stats for a class before S's only 1 transferred to another U and no more than 5 graduated CMU without a CS degree...they got a degree in something else. S did say he knows of a number of others, non CS who wanted to pick up CS as a second major but many of them couldn't make it thru the 2nd year programming courses which were tough...but the CS kids do make it thru for the most part. I don't know about the other schools you mentioned.</p>

<p>A lot of his classmates are going to NY banks and consulting; he begins at Goldman Sachs next week.</p>

<p>Well, I can vouch for Berkeley, and it is generally estimated that about half of all students who try to major in EECS or CS do not graduate with either degree. Anecdotally speaking, about 1/3-1/4 of people at MIT who start off majoring in course 6 (EECS) will not complete it. The same thing seems to hold at Stanford. </p>

<p>But like you said, a lot of it has to do with a school admitting people directly into the major. At Berkeley, there are 2 ways to get a CS degree: either through EECS, or through CS directly. The EECS program admits people directly into the program right out of high school. The CS people admits people as continuing students, and the competition for those spots is tight. If you come to Berkeley hoping to eventually declare the CS major, there is a strong possibility that you will be denied and thus you will be forced to major in something you don't really want to major in. Hence, the EECS option is clearly the safer choice. </p>

<p>Of course, to get into the EECS program at Berkeley, you have to apply to that program as a high school senior, and that program is generally acknowledged as the toughest to get into (for undergrad). Furthermore, you can only submit one undergrad application to Berkeley at a time, so if you apply to EECS and are rejected, that means you're rejected from all of Berkeley. </p>

<p>
[quote]
Which part of CS breaks down into math?

[/quote]
</p>

<p>Think of it this way. A tremendous part of the computer science curriculum often times breaks down into math. For example, the entire field of algorithms, including things like sorting, hashing, trees and tries, divide + conquer, graph theory, indexing, search trees, parallelism, spanning trees - come on, that's all math. All the stuff on cryptography - at the end of the day, that just comes down to advanced number theory and modular arithmetic. How about all that computation theory stuff like determinations of NP-completeness, complexity theory, decision problems, recursion, halting problems, psuedorandomness ? That's just a sub-branch of math. In fact, much of it was invented by the mathematician Alan Turing, he of the famous Turing machine, and that stuff is still a topic of intense interest in the mathematics community. In fact, the very roots of computer science spring from mathematics. Almost all of the first computer scientists, like Turing, von Neumann, Claude Shannon, John McCarthy (inventor of LISP) were all mathematicians. </p>

<p>In fact, I'll put it to you this way. The Turing Award is often times called the "Nobel Prize of Computing" Last year the Turing Award was won by Vint Cerf, the inventor of TCP/IP and the father of the Internet. Does he hold a bachelor's degree in computer science? No. He holds a bachelor's degree in mathematics. He was able to use that math degree to get into the graduate CS program at UCLA, where he got his PhD and then had an illustrious career in computer science.</p>

<p>In 2003, the Turing Award was given to Alan Kay, the inventor of OOP. Kay doesn't have a bachelor's degree in CS either. He also did his bachelor's in mathematics, and then later got his PhD in CS</p>

<p>In 2002, the Turing award was given to Ron Rivest, Adi Shamir, and Leonard Adleman for inventing RSA public key cryptography algorithm (and founding the computer security company RSA Security). All of them did their bachelor's in math, not CS, and each then used that math degree to get their doctorates in CS </p>

<p>In 2001, the Award was won by Dahl and Nygaard, for precursors in OOP. Once again- their undergrads were in math, not CS. </p>

<p>In 2000, the Award was won by Andrew Yao, whose undergrad was actually in physics.</p>

<p>In 1999, the Award was won by Fred Brooks, who developed the IBm OS/360 mainframe operating system, and then wrote the famous book "The Mythical Man Month" about how to manage software development. He did his undergrad and his PhD in math.</p>

<p>In 1998, the Award was won by Jim Gray for his work on transactional databases. Once again- bachelor's in math.</p>

<p>The point is, computer science and mathematics have always been intimately linked. It is relatively easy to get into CS with a mathematics background, and mathematicians have made key contributions to computer science. </p>

<p>
[quote]
A good computer person may or may not be good enough to be a math major ... nor is it necessary. The two fields involve different kinds of thinking.

[/quote]
</p>

<p>I suppose that depends on how you define 'necessary'. I can agree that you don't absolutely NEED to be good at math in order to do computer science. I never said that you did. Heck, if you just want to get a job in software, you don't really need a CS degree at all. I know plenty of people who are successful software developers who either have no degree at all, or have degrees in things like English or some other liberal arts. </p>

<p>My point is that it is often times quite easy for people with math backgrounds to move into CS. Furthermore, those people who make major CS discoveries often times have strong mathematics backgrounds. Surely you wouldn't dare try to go up to a guy like Vint Cerf or Ron Rivest or Fred Brooks and tell that it's not important to know math to do good CS work.</p>

<p>Duke relatively weak in CS? Look at that US News report. It's in the top 20. Not bad. Yes, GT is #12, but the difference is three tenths of a point. So, with Duke's more highly recognized name and a decent CS program, I still think it's a good choice. Plus, I'm interested in a music minor, which GT doesn't offer. If I wanted to at GT I would have to take music classes at GA State down the street from GT.</p>

<p>Duke is very strong.</p>

<p>Duke is relatively weak in CS and Engineering because it's a top 10 undergrad program, but only ranked in the 20s for program quality. If you don't think program quality makes any difference, consider that for my year, UIUC ECE had at least half a dozen undergrads go to the Stanford EE grad program, while Duke only had 1. The one guy from Duke was #1 (or close to it) in his program and he thought that the Stanford grad program was much more rigorous than he was used to. Conversely, the UIUC grads, as well as the MIT, Berkeley, and Caltech guys I've talked to, are doing just fine.</p>

<p>Um, did we all forget about Harvey Mudd? For undergrad, Harvery Mudd is judged hire than Standford and UCBerkely, only trailing CalTech.</p>

<p>Also, the U.S. News list is for graduate, for undergraduate, UC Berkely is difentely not #1, especially in program quality.</p>

<p>Well, I think that comparison is a bit unfair. The fact is, UIUC has far more engineering undergrads than does Duke. UIUC has about 5500 engineering undergrads, and Duke has about 900, for a ratio of about 6:1. I don't know how many of them in each school are in EE specifically, but I suspect the ratios are about the same. Hence, there are probably 6 times more UIUC EE undergrads than there are Duke EE undergrads. So just from a sheer numbers perspective, you would expect there to be 6 times more UIUC students than Duke that go on to Stanford EE. What we really should be talking about are the percentages of people who get into to various places. Otherwise you're just rewarding those programs that just happen to have lots and lots of students.</p>

<p>I wonder what Bill Gate would become had he not dropped out in his freshman year, and continued to pursue his college degree (probably in Mathematics or Law)... One thing for sure, he didn't get to take many math courses in Harvard. And Steve Job ... I wonder if he even liked math while he was at Reed.</p>

<p>Ken Olson, the founder of Digital Equipment and the ultimate entrepreneur, was an engineerer. So were Bill (Hewlett) and Dave (Packard). Jerry Yang of Yahoo fame had a PhD in Electrical Engineering. Larry Page, co-founder of Google, was in Computer Engineering.</p>

<p>So you don't need to know a lot of math to be successful in the computer or related industry. And not everyone who is good in computing has the aptitude to be a math major. For those of us (myself included) who don't have a hang in abstract mathematics, a CS/CE degree from CMU or UC-Berkeley may be more practical.</p>

<p>Btw, you left out a couple celebrities in your list:</p>

<p>Sergey Brin, the other Google co-founder, has a BS degree in mathematics and computer science from the University of Maryland.</p>

<p>David Cutler, chief architect of Windows NT and probably the 'greatest' software engineer of his time, graduated with a BA in mathematics and a minor in Physics from little known Olivet College. He didn't even like computer while he was in school!</p>

<p>
[quote]
Well, I think that comparison is a bit unfair.

[/quote]
</p>

<p>My point wasn't really comparing the representation of undergrad schools, but rather the grad school experience that students from different undergrads have. In general, my experience is that people who came from schools with top undergrad reputations but less stellar engineering reputations, e.g. Penn and Duke, report themselves to be less prepared than others. I would argue that this is not due to student quality, since these places are obviously very selective, but rather due to lower expectations and academic rigor at these programs.</p>

<p>Cre8tive,
Where did you see that the undergrad program at Harvey Mudd is 'judged higher' than Stanford and UCB ... I presume you were referring to their engineering (EE/CE) program?</p>

<p>No, computer science:
<a href="http://www.hmc.edu/acad/academicdepts/cs.html%5B/url%5D"&gt;http://www.hmc.edu/acad/academicdepts/cs.html&lt;/a&gt;&lt;/p>

<p>Interesting enough is that Bill Gate's wife has a CS and Econ degree from Duke. The supply scholarship money each year too.</p>

<p>I'm more interested in CS than EE. At a lot of schools, CS and EE are mixed together. If I wanted to do EE at Duke, I would be in the Pratt school of engineering. If I did CS I would be in the Trinity college of arts and sciences. So it definately makes a difference which major I choose. GA Tech on the other hand has a whole college for Computing Engineering.</p>

<p>ok, so Carnegie Mellon is number one eh. How hard is it to get into? JW</p>

<p>GoBlue81, you might want to check your facts. </p>

<p>
[quote]
Yang of Yahoo fame had a PhD in Electrical Engineering.

[/quote]
</p>

<p>No he doesn't. Jerry Yang (and his partner David Filo) were both studying for doctorates at Stanford, but both dropped out to start up Yahoo. </p>

<p><a href="http://boston.bizjournals.com/boston/stories/2000/09/25/editorial1.html%5B/url%5D"&gt;http://boston.bizjournals.com/boston/stories/2000/09/25/editorial1.html&lt;/a&gt;&lt;/p>

<p>
[quote]
...was an engineerer. So were Bill (Hewlett) and Dave (Packard).

[/quote]
</p>

<p>While I can't find out exactly what they got their bachelor's degrees from, it is notable that both Hewlett and Packard have BA degrees from Stanford, not BS degrees. There is no such thing as a Stanford BA degree in engineering or CS. If you get a bachelor's degree in engineering or CS from Stanford, it will be a BS degree. </p>

<p>
[quote]
So you don't need to know a lot of math to be successful in the computer or related industry. And not everyone who is good in computing has the aptitude to be a math major. For those of us (myself included) who don't have a hang in abstract mathematics, a CS/CE degree from CMU or UC-Berkeley may be more practical.

[/quote]
</p>

<p>Look, I never said that you absolutely needed to know a lot of math to succeed in the computer industry, or that you need to have a math degree to succeed in the industry. Heck, you don't even need a degree at all to succeed in the industry - look at Bill Gates, Paul Allen, Larry Ellison, Michael Dell, Steve Jobs, Steve Wozniak (although Woz did later get his degree). I personally know people who have no degree at all and are successful in the computer industry. Not as successful as Bill Gates, obviously, but still doing fairly well for themselves. I know others who have degrees in the liberal arts who have successful careers in software and computers. </p>

<p>Look, computer science and computer engineering is a vast field. I think you will agree that certain parts of it are highly mathematical. Others, not so much. </p>

<p>My point is that if I was going to Harvard and I decided I wanted to prep myself for a CS graduate program, I'd probably approach it from the math angle. Harvard's CS undergrad program is not superstrong, but Harvard's math program is. I'm fairly certain that if you can do well in math at Harvard, you can probably do well in most CS graduate programs, especially if you choose to specialize in the more mathematical parts of CS. After all, look at all those Turing Award winners who did their undergrads in math. They seem to be doing OK.</p>

<p>My point is that some people may not be suitable as mathematicians while they are perfectly fine as computer scientist. And to be successful in the career path you described, you have to be damn good in math.</p>

<p>All I'm saying is that you should follow your interest. If math is your thing, by all means major in math. There are many industries that can use a good mathematician. But if your real interest is in computer science, I'd suggest that you pick a school with a good CS program instead of just a brand name.</p>

<p>About checking the facts. Bill and Dave are always thought of as engineers in HP circles. You were right that they got a B.A. degree from Stanford in 1934. However, they both went back to Stanford to get a degree in Electrical Engineering in 1939.</p>

<p>Jerry Yang holds B.S. and M.S. degrees in Electrical Engineering from Stanford; and is currently on leave of absence as a EE PhD candidate. I guess he won't be going for a math degree any time soon. You were right that he hasn't got his PhD yet ... and I stand corrected.</p>