I feel you've missed my point. It's pretty obvious that someone with more experience in Electrical Engineering would be better suited to work closely with electical circuits than someone who isn't. And it would be helpful to most people's careers to take finance classes and project management.
However, your programming skill would probably not be strongly affected by your knowledge in other areas. Your usefulness in a project or at some company most likely would, but that's a whole different ballgame. Being "suited" for a certain project usually nothing to do with your programming skill (unless you have none).
CS is all about abstraction. This is the first thing you learn in most introductory CS courses. If there wasn't any abstraction we'd all have to be mechanical engineers in order to drive to work every morning.
Although learning EE is useful, I don't see how it correlates to an increase in programming knowledge. The actual physics of your hardware should be kept below an abstraction layer anyways. I don't know any situations where knowing exactly how a MOSFET works would affect how I write code.
It seems to me that the class you took that required you to write an emulator and a compiler/linker should have been geared towards pure CS majors also rather than simply towards CS&E majors. A good pure CS curriculum should teach you everything above the hardware/software abstraction layer while offering you a peek at what lies below.
In my experience, the average CS&E graduate has taken fewer programming intensive courses than the average pure CS graduate. This is because CS&E/EECS must split itself over two seperate disciplines (which occaisionally overlap) while the pure CS major only has to focus on one. Sure, you may have taken more EE and Physics, but did you have time to take all the upper division CS you wanted to? What about the chance to take some graduate school CS courses while you were still an undergrad? Probably a no to both counts.
I would be hard pressed to agree that a B.S. CS&E or EECS grad is better prepared to program than a pure B.A. CS grad. Maybe you are better prepared than the OP (if he is indeed a pure CS grad), but that is a matter of the university's curriculum rather than a matter of major choice.
I feel you've missed my point. It's pretty obvious that someone with more experience in Electrical Engineering would be better suited to work closely with electical circuits than someone who isn't. And it would be helpful to most people's careers to take finance classes and project management. However, your programming skill would probably not be strongly affected by your knowledge in other areas. Your usefulness in a project or at some company most likely would, but that's a whole different ballgame. Being "suited" for a certain project usually nothing to do with your programming skill (unless you have none). CS is all about abstraction. This is the first thing you learn in most introductory CS courses. If there wasn't any abstraction we'd all have to be mechanical engineers in order to drive to work every morning.
Although learning EE is useful, I don't see how it correlates to an increase in programming knowledge. The actual physics of your hardware should be kept below an abstraction layer anyways. I don't know any situations where knowing exactly how a MOSFET works would affect how I write code.
It seems to me that the class you took that required you to write an emulator and a compiler/linker should have been geared towards pure CS majors also rather than simply towards CS&E majors. A good pure CS curriculum should teach you everything above the hardware/software abstraction layer while offering you a peek at what lies below.
In my experience, the average CS&E graduate has taken fewer programming intensive courses than the average pure CS graduate. This is because CS&E/EECS must split itself over two seperate disciplines (which occaisionally overlap) while the pure CS major only has to focus on one. Sure, you may have taken more EE and Physics, but did you have time to take all the upper division CS you wanted to? What about the chance to take some graduate school CS courses while you were still an undergrad? Probably a no to both counts.
I would be hard pressed to agree that a B.S. CS&E or EECS grad is better prepared to program than a pure B.A. CS grad. Maybe you are better prepared than the OP (if he is indeed a pure CS grad), but that is a matter of the university's curriculum rather than a matter of major choice.