Engineering an Education for the Future by David
G. Messerschmitt. The interaction between electrical
engineering and computer science.
In this context, electrical engineering encompasses integrated circuit
and device design, microelectro-mechanics, electromagnetics, and so
on. Computer engineering includes the design of computer systems
hardware (such as processors, network switches, and peripherals) and
related software (such as compilers, operating systems, and networking
software). Somewhere in the midst of ECE (Electrical and Computer
Engineering) are topics like signal processing, communications,
control, application-spe-cific hardware design, and the broad terrain
of het-erogeneous systems (including hardware, software, and physical
channels). In the future there will be (or should be) considerable
overlap between these curricula, and also an overlap with computer
science.
Our students will face incessant change, and thus
one of the most important skills we can impart
is the ability to learn.
Digital systems will increasingly be programmatically similar to some
areas of computer science. And computer science as a discipline has
been moving in the direction of digital systems. Some of the most
exciting developments in networking, like IP and tag switching, are
actually a merger of the traditional ECE and CS viewpoints, exploiting
the strengths of each. Likewise, mobile computing done correctly
becomes intertwined with signal processing and network pro-tocols.
Multimedia applications in a networked computing environment encounter
many issues of source coding and signal processing that are a
traditional ECE focus.
We believe that a modern curriculum in electrical
and computer engineering cannot be logically separated
from a computer science curriculum. The levels
of abstraction used to design and model electronic systems
increasingly coincide with those used in computer
science, and any artificial separation will
inevitably lead to significant redundancy in the two
curricula.