<p>
[quote]
MIT doesn't have a pure CS major. It only offers EECS, which is partly or largely hardware-based, which is good for Computer Engineering majors, but might not be a good fit for CS majors.
[/quote]
</p>
<p>I don't think this is a fair characterization of the EECS program. Leaving aside course 18C aside (which is MIT's "Pure" CS major), even if you were to stay in EECS, you can still take almost all your classes in software.</p>
<p>Strictly speaking, the true MIT Computer Science major (not the Math with Computer Science major, but just the BS Computer Science major) is course 6-3 option. Looking at the requirements for that option, only 2 of the requirements, 6.002 (Circuits and Electronics) and 6.003 (Signals and Systems) can be said to not really be true "computer science" courses. All of the rest of the requirements are highly computer-science oriented. Furthermore, you can take all of your engineering electives as computer science courses. </p>
<p><a href="http://www.eecs.mit.edu/ug/brief-guide.html#vi-3reqs%5B/url%5D">http://www.eecs.mit.edu/ug/brief-guide.html#vi-3reqs</a>
<a href="http://student.mit.edu/@6956787.16453/catalog/m6a.html%5B/url%5D">http://student.mit.edu/@6956787.16453/catalog/m6a.html</a></p>
<p>So, really, when you're talking about MIT EECS being a poor fit for pure CS people, we're really only talking about 2 lower-division courses. Is that really that bad? </p>
<p>Furthermore, let's contrast that with the Stanford CS program. The requirements are as follows.</p>
<p>I see that, under the "Engineering Fundamentals" requirement, you have to take E40, Introductory Electronics. I would suspect that this class maps into the MIT 6.002 class. You also have to take a Digital Systems class (EE 182 or EE108B). It seems to me that this class has do strictly with computer engineering, not computer science per se.</p>
<p><a href="http://eeclass.stanford.edu/ee108b/%5B/url%5D">http://eeclass.stanford.edu/ee108b/</a></p>
<p>So really, it's hard for me to see that Stanford would be any better of a fit for CS majors than MIT EECS would be. In both places, you would have to take 2 courses that arguably have little to do with pure CS. </p>
<p>Now, I agree that the 2 schools have different personality fits. That's why I agree with mootman that you need to figure out what sort of environment you happen to like. But I don't see that MIT EECS will force you to take any more non-CS classes than Stanford will.</p>