Lacking at what, skills needed for engineering?
The skills to understand and logically analyze data. There was a significant gap between what was an acceptable conclusion in my engineering design classes, and in my humanities classes. The former required methodical problem solving backed up with a statistically valid solution; the latter just needed a persuasive interpretation of the facts presented.
I don't mock the importance of social fields, because there is important research done in those areas. There was a psychology professor that I admired because he was doing brain mapping of children to try and understand at what age and how memories start to form. His experiment examined the relationship of special awareness and memory formation
But there's also a reason athletes, undecideds, and barely qualified students go into those undergraduate programs. I'm guessing the graduate programs are much more intense and I doubt I'd have the motivation to work hard enough to get through them.
One cause for the lack of demand of electrical engineers is that the hardware design and manufacturing is located to cheaper countries
I wonder if it's an indication that the skill requirement of domestic engineers are changing. I haven't seen many issues with design or layout engineering jobs going overseas. I have seen the jobs for engineers responsible for field engineering, implementation, and test are going to where the production is happening.
It doesn't cost anything to send layout files overseas for building and testing, but it can be expensive to send boards built in another country to the US to test/debug.
A computer is a tool that a CS may use, not the subject of the field.
I agree, but a CS should have some understanding of the functions of their tools. As in your quote, "astronomy is not about telescopes" but one would expect an astronomer to have a basic understanding of the principles of telescopes, radar, etc. Even with modern technology where an astronomer is sitting at a machine and looking at the data produced by the telescope, he should still comprehend tool related causes of aberrations in his data.
They are pretty much specific to the PC-compatible architecture.
I'm not a CS, EE, or computer engineer, so I'm not completely knowledgeable about the subject, but I've worked with different systems that used ARM or embedded controllers that had to deal with interrupt requests.
math and science are getting more and more specialized
In my experience they are becoming more specialized, but paradoxically more interconnected. My degree is in Materials Engineering, but to accomplish my job I'd often have to learn skills from other disciplines like chemistry, programming, and statistics. Mathematicians can't just rely on pencil and paper, they need to understand computers to accomplish their goals more efficiently and effectively. And a molecular biologist probably has an interest in learning about cows if it displays certain preferable characteristics that they look to understand and mimic.
But even if your analogy was valid, I bet that your "CS guy" knew what an interrupt is, but was not familiar with the specific implementation of the cascaded 8259A PICs used in the PC/AT architecture at the time.
You're probably right, but if that is the case, the person should have enough understanding to take a methodical approach to solving the problem, not just shrug their shoulders.
It shows the problem the original poster was talking about. Something that is relatively simple and widely used in the real world is ignored in formal academics.
Personally, I think there should be more time allotted for apprenticeships in college. The semester I missed to take an 8-month internship greatly complimented all the information I learned in school.
Never trust a computer you can't repair yourself.