While I do see the advantage to being a specialist (it might make you eligible for a very specific set of jobs), I lean toward the generalist approach. The problem is that most new graduates really don't have a good feel for what they'll be doing ten years down the road. The generalist approach is a great way to keep your options open. Engineering is a pretty specialized curriculum to begin with. I don't know if making it more specialized is a good long-term approach.
Many specialists get scooped up before they even graduate undergraduate studies, I have noticed. Whether it be by some company or person, or they go on to create their own businesses. Insanely successful examples would be Microsoft, Apple, and Facebook. These guys go on to hire more specialists. Why? They want a job done fast at any cost.
Businesses that are only moderately successful tend to seek generalists, from my experience. Why? Because they want a variety of jobs done for low cost. And they don't have to do a great job at them either.
After years of experience and observation, I have only one recommendation for engineers, using these terms: Become a specialist at whatever you wish and start a business around it.
Jon, the Institue of Electrical and Electronics Engineers (IEEE) Communications Society is going in the undergraduate specialization direction. They are proposing a BS in Telecoommunications Engineering (TE). The feeling is that in a EE program that a number of topics are not covered that are important to telecommunications engineering and that there is enough demand. Here in the Chicago area, as with the IEEE in general, the Communications Society is the second largest after the Computer Society (whcih I lead). The IEEE started as the Institute of Radio Engineers. It later merged with the American Institute of Electrical Engineers, so this makes sense.
There are really two aspects of general education at the undergraduate level. One, of course, are the liberal education requirements. The other involves the range of scientific and mathematical education. Frankly, if you want to become a generalist, you should study physics. That is how I started. We really looked down on the engineers. Since there were few or no jobs in pure physics I dropped out and followed many of my professors into the software (and later systems engineering) fields. We had the skills necessary to solve the problems we were given. I later got a computer science degree.
What I find interesting is that many of the authors of research papers in the IEEE journals are physics PhDs. I also know several PhDs in electrical and mechanical engineering who work at research labs with the title of physicist.
My feeling is that if you are going into engineering then you are specializing. One of the options is to have a shorter general engineering program, followed by a specialized program. Some universities do this. In the first year or two everyone covers basically the same material. For companies that really want people to just jump in, they might want to consider just hiring people with masters degrees. I think what we will see is the specialization of degrees along the line of what the IEEE Communications Society is doing.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.