18.01 Single Variable Calculus
8.01 Classical Mechanics
18.02 Multivariable Calculus
8.02 Electricity and Magnetism
6.002 Circuits and Electronics
6.003 Signals and Systems
That will get you a long ways. 18.01 Single Variable Calculus
8.01 Classical Mechanics
18.02 Multivariable Calculus
8.02 Electricity and Magnetism
6.002 Circuits and Electronics
6.003 Signals and Systems
That will get you a long ways.Note, CS departments generally either came out of Math departments, in which case they emphasize CS and not much in the way of EE, or they came out of EE departments and strongly emphasize the EE side of things even if you're pure CS. MIT is an example of the latter, I think the same is true for Berkeley and Stanford, I'm not sure about CMU.
MIT's EECS department was first just plain EE, so they rather naturally combined the two as computers came of age (there was much less division between the two in the '50s and early '60s).
As of the '80s, it had the opinion that "no MIT EECS graduate should be completely at sea if he had to do some programming or had some weird electrical problem to deal with" as I said in another reply to this thread.
There really aren't many if any EE disciplines today that have no programming component. The reverse isn't so true, but a whole lot of programmers/CS types will be faced with EE problems they should at least have some understanding of. Plus the abstractions are hardly opaque; a minimal understanding of EE will help a lot in understanding what's going on with the beasts we program, where they're going, etc.
WRT to the former, at my 2001 job at Lucent we had the strangest transmission line problem on a big PC board. It wasn't fully diagnosed until the lead EE for it got really desperate and put his scope probes at every point he could, upon which he found the signal was messed up in middle of a line ... but not at the end (which he had of course already checked).
I don't have to know too much EE to know I can't blame him for taking so long to find it.
The early '80s curriculum had a core of 6.001-4, in a word or phrase they were SICP, Kirchhoff's law, Laplace transforms, and low level architecture (gates and circuits, microcode and assembler).
Those were hard courses, each 15 units compared to the normal 12 for a typical course (one unit equals one nominal hour of work a week). I and others can attest that even if you were an experienced Lisp hacker 6.001 made you sweat blood.
That system is no more, the department panicked when the dot.com bust resulted in an unprecedented and permanent crash in undergraduate enrollment, which had been steady for decades.
So they terminated 6.001 with extreme prejudice and replaced the mandatory core with two new "fun and exciting" (but still hard) courses, 6.01 and 6.02. The first is robots programed with Python and the second is communications inspired by cell phone networks the last time I checked (I haven't looked hard at it).
After that there are different paths that can be taken by majors focusing on EE, CS or both, but almost all of the current student body goes for the later.
So MIT grads starting about now are a "new thing", a different "product"; obviously they will still have a fair understanding of both, but the guarantee for one of them is much lower. And you are of course you aren't going to see many who are in it for the money alone.