<p>So right now I'm trying to finalize my college list. I really want to study CS and entrepreneurship (double major or dual degree if possible) and I've been doing some research online about CS rankings. Right now I'd say my favorite school is Brown, mostly because of the culture and atmosphere, but I've found that while its certainly a good school for CS, it ranks pretty consistently from 20-40 nationwide, whereas CMU, Stanford and MIT are always top 5. Now I understand the more hardcore engineering focus of there other schools, while brown is more liberal-artsy, but I was wondering what's going to be the real difference in the CS programs between say a top 5 ranked school and a top 20.</p>
<p>A typical CS major would have the following lower division courses:</p>
<p>Introductory sequence covering CS concepts and data structures; includes programming assignments, though schools vary in programming languages used.
Computer organization, machine structures, or similar course; typically includes assembly language programming assignments.
Discrete math, probability, and statistics.</p>
<p>Other lower division requirements may include:</p>
<p>Math: calculus, linear algebra – engineering-focused majors may have multivariable calculus and differential equations.
Science: engineering-focused majors typically have a physics requirement.
Electronics: engineering-focused majors may have an EE or electronics requirement.</p>
<p>Typical upper division CS courses that should be available:</p>
<p>Algorithms and complexity. *
Theory of computation, languages, and automata.
Operating systems. *
Compilers.
Networks. *
Databases. *
Security and cryptography. *
Software engineering. *
Digital systems, computer architecture design, or other hardware courses.
Electives like graphics, artificial intelligence, etc.</p>
<ul>
<li>= Courses whose concepts are frequently seen in industry software jobs.</li>
</ul>
<p>Thanks for your response, but I don’t quite understand it in relation to my question. Are you saying that any schools with all those top-level courses would be comparable?</p>
<p>When it comes to Computer Science, once can basically attend any school in the Top-200 and after X amount of years experience will be at the same level.</p>
<p>Why?</p>
<p>Because most CS professional areas, especially software engineering is all about how one obtains the most sought technical skills that are “hot” at the time. It is possible that some so-called “higher ranked” schools may cover more in-depth material than other schools but it is usually nullified in industry because industry isn’t really using that “extra whatever”.</p>
<p>Therefore, unless academia and research is part of your plans, Computer Science, especially software engineering pretty much makes every grad the same within the Top-200 CS programs. Computer Science is not like the Business majors where hiring managers are mostly about your school “brand name”, GPA and your 100 extra-curriculars. CS hiring managers are almost all about “do you know X technology”.</p>
<p>Brown is actually a very good CS program and probably the best in the Ivy League with a ton of recruiters each year from Pixar, Google, and all the big companies.</p>
<p>While almost all rankings are (unfairly, in my view) biased towards bigger programs, faculty and student sizes do influence educational experiences. Top ranked CS programs usually have a larger faculty who offer more/broader courses and research opportunities, and a larger similarly CS focused student body. For example, Stanford has ~60 faculty and graduated ~140 BS this year. In comparison, Brown has ~30 faculty and graduated ~50 BS this year.</p>
<p>@Darthpwner</p>
<p>That is a prodigiously misleading statement. Recruiters from top companies go to almost every at least decent college, which is why going to a “top” cs school isn’t as important as how hard you try when you get there.</p>
<p>
</p>
<p>The big companies are the ones with the resources and need to recruit widely. The smaller companies and startups tend to recruit less widely, often emphasizing local schools and perhaps few other schools.</p>
<p>Don’t worry about rankings for undergraduate CS degrees. People with a few years in the industry know that where you went to school has very little to do with your productivity as a programmer.</p>