9
0018-9162/98/$10.00 © 1998 IEEE January 1998 77 Engineering an Education for the Future F aced with rapid and unremitting change in the disciplines of electrical and computer engi- neering (ECE), some educators argue that we should deliberately not respond aggressively. Rather, we should focus on fundamentals that will serve the students well for an entire career. Although we strongly agree, this approach largely begs the question of what those fundamentals are. Of course it is desirable to impart all feasible fundamentals, but that seems impossible given the expanding breadth of knowledge required in the ECE field. Thus the question we address is: What are the fundamental skills and knowledge that are important for a future career in ECE? What should be the educational priorities? 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 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 curric- ula, and also an overlap with computer science. CHANGES IN TECHNOLOGY Engineering within the general domain of electricity, magnetism, electronics, and computers has undergone major shifts in emphasis over the past century. One of these was the shift from power transmission and rotat- ing machinery to electronics. A second was the shift from vacuum tubes to semiconductors, from discrete circuits to integrated circuits. A third was the shift from analog to digital electronics. A fourth was program- mable digital hardware. Of course, none of these transitions was hard, absolute, or quick. Indeed, none of them is yet com- plete, and the fourth is in its early stages. Nevertheless, they all had watershed implications for the nature of an education. Our primary concern here is with the shift in emphasis from analog to digital, and from fixed to programmable. Is this as important a shift as the earlier ones, from the perspective of its impact on edu- cation? We believe so. This shift is similar to the shift from power to electronics and from vacuum tubes to semiconductors. The shift from power to electronics hardly shifted fundamental knowledge and skills at all, but did pro- foundly change the nature of the design process and the character of the systems built on those fundamen- tals. The shift from vacuum tubes to semiconductors had an almost opposite effect: The essential funda- mentals shifted profoundly (from free-space electron motion to holes and electrons in a semiconductor) and the design skills changed substantially, but the nature of the systems being realized didn’t change in a dis- continuous way. The shift from analog to digital, and from fixed to programmable, changes the most impor- tant fundamental knowledge, the skills used, and the nature of the systems being designed. This latest shift raises three questions: What remains necessary, fundamental knowledge for all engineers designing digital, programmable systems? What design skills must engineers be taught? What are the charac- teristics of the systems being designed, and how must they be addressed in the curriculum? Advances in performance Advances in electronic technology have been sim- ply extraordinary. As embodied in Moore’s law, an underlying exponential increase in capability at a fixed price has profound implications over time. It implies Electrical and computer engineering has undergone rapid change and will continue to do so for the foreseeable future. These changes will have a profound effect on ECE education. In this article, we describe some changes in the practice of engineering and speculate on the educational implications. Edward A. Lee David G. Messerschmitt University of California at Berkeley Cover Feature .

Engineering an education for the future

  • Upload
    dg

  • View
    215

  • Download
    2

Embed Size (px)

Citation preview

0018-9162/98/$10.00 © 1998 IEEE January 1998 77

Engineeringan Educationfor the Future

Faced with rapid and unremitting change in thedisciplines of electrical and computer engi-neering (ECE), some educators argue that weshould deliberately not respond aggressively.Rather, we should focus on fundamentals that

will serve the students well for an entire career.Although we strongly agree, this approach largely begsthe question of what those fundamentals are. Of courseit is desirable to impart all feasible fundamentals, butthat seems impossible given the expanding breadth ofknowledge required in the ECE field. Thus the questionwe address is: What are the fundamental skills andknowledge that are important for a future career inECE? What should be the educational priorities?

In this context, electrical engineering encompassesintegrated circuit and device design, microelectro-mechanics, electromagnetics, and so on. Computerengineering includes the design of computer systemshardware (such as processors, network switches, andperipherals) and related software (such as compilers,operating systems, and networking software).Somewhere in the midst of ECE are topics like signalprocessing, 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 (orshould be) considerable overlap between these curric-ula, and also an overlap with computer science.

CHANGES IN TECHNOLOGYEngineering within the general domain of electricity,

magnetism, electronics, and computers has undergonemajor shifts in emphasis over the past century. One ofthese was the shift from power transmission and rotat-ing machinery to electronics. A second was the shiftfrom vacuum tubes to semiconductors, from discretecircuits to integrated circuits. A third was the shift fromanalog to digital electronics. A fourth was program-

mable digital hardware.Of course, none of these transitions was hard,

absolute, or quick. Indeed, none of them is yet com-plete, and the fourth is in its early stages. Nevertheless,they all had watershed implications for the nature ofan education. Our primary concern here is with theshift in emphasis from analog to digital, and from fixedto programmable. Is this as important a shift as theearlier ones, from the perspective of its impact on edu-cation? We believe so. This shift is similar to the shiftfrom power to electronics and from vacuum tubes tosemiconductors.

The shift from power to electronics hardly shiftedfundamental knowledge and skills at all, but did pro-foundly change the nature of the design process andthe character of the systems built on those fundamen-tals. The shift from vacuum tubes to semiconductorshad an almost opposite effect: The essential funda-mentals shifted profoundly (from free-space electronmotion to holes and electrons in a semiconductor) andthe design skills changed substantially, but the natureof the systems being realized didn’t change in a dis-continuous way. The shift from analog to digital, andfrom fixed to programmable, changes the most impor-tant fundamental knowledge, the skills used, and thenature of the systems being designed.

This latest shift raises three questions: What remainsnecessary, fundamental knowledge for all engineersdesigning digital, programmable systems? What designskills must engineers be taught? What are the charac-teristics of the systems being designed, and how mustthey be addressed in the curriculum?

Advances in performanceAdvances in electronic technology have been sim-

ply extraordinary. As embodied in Moore’s law, anunderlying exponential increase in capability at a fixedprice has profound implications over time. It implies

Electrical and computer engineering has undergone rapid change and willcontinue to do so for the foreseeable future. These changes will have a profound effect on ECE education. In this article, we describe somechanges in the practice of engineering and speculate on the educationalimplications.

Edward A.LeeDavid G.MesserschmittUniversity ofCalifornia atBerkeley

Cove

r Fea

ture

.

.

78 Computer

a trend away from performance limitations to limita-tions caused by our incomplete understanding of howto realize an application. For example, many signalprocessing investigations were not long ago criticizedas being impractical to implement, but now Moore’slaw has consumed most of our algorithm and theo-retical knowledge in these areas. Now much of the

needed progress is constrained by shortcomings in ourunderstanding of the task or application, rather thanimplementation feasibility or cost.

A clear implication is that performance and effi-ciency are somewhat less critical design issues thanthey used to be. There are, of course, notable excep-tions, such as wireless communications, where traffic

Figure A. The interaction between electrical engineering and computer science is not only the interaction between elec-tronics and computer hardware, but also between what electrical engineers call “systems” (here labeled EIS for“electronic information systems”) and computer science theory and software. In this diagram, we list some topics in thecore and overlap areas. The orange area is entirely behind the red area.

ArchitectureCAD for VLSIConfigurable systems

Linear systemsControl

Nonlinear systems

MultimediaRobotics, visionDiscrete-event systemsSimulationReal-time systemsConcurrent software

Networks

EIS

CommunicationsInformationQueueing theorySignal processing

CircuitsElectronicsDevicesProcess technologyE & MPower systemsPlasmasQuantum & optical

LanguagesComplexityAutomataSoftware engineeringCompilersOperating systemsAlgorithmsGraphicsUser interfacesDatabasesArtificial intelligence

CommunicationsInformationQueueing theorySignal processing

EECS

EIS

MultimediaRobotics, visionDiscrete-event systemsSimulationReal-time systemsConcurrent software

NetworksLinear systemsControl

Nonlinear systems

ArchitectureCAD for VLSIConfigurable systems

An Integrated CurriculumRaising the level of abstraction in the design of elec-

tronic systems has a major effect on the relationshipof traditional electrical engineering with computerscience. The classical overlap area, often called “com-puter engineering,” captures only certain aspects ofthis relationship. In particular, it focuses on hardware,correctly viewing such disciplines as architecture, dig-ital design, and computer-aided VLSI design as over-lap areas. However, there is an equally importantoverlap area that deals with systems at a higher levelof abstraction, and centers more on their applicationthan on their hardware.

We view EECS as consisting of three core areas andthree overlap areas, as illustrated in Figure A. The

three core areas are:

1. Electronics (E, red)2. Electronic information systems (EIS, yellow)3. Computer science (CS, blue)

Some subtopics (which are meant to be suggestive,not exhaustive) are also shown in Figure A. The over-lap areas are

1. Computer hardware (E and CS, purple)2. Electronic systems (E and EIS, orange, which

does not show because it rests behind the red)3. Computer information systems (EIS and CS,

green)

.

capacity depends on efficient use of the scarce radiospectrum. But in a widening circle of applications, thegoal of minimizing manufacturing cost or making themost efficient use of a resource is eclipsed by the desireto minimize design cost or time to market.

In certain cases, a design may not even beattempted because its complexity cannot be managed.

Most software today would not be designed withouthigh-level languages, regardless of efficiency con-cerns. Thus, methodologies and tools that managecomplexity, even if they sacrifice efficiency, becomenot just desirable but essential. In summary, the crit-ical issue in the development of many productsbecomes not, “how do we design circuitry with suf-ficient speed?” but rather, “is it feasible to managethe complexity of the design?” and “how do wereduce the time to market?”

Importance of abstractionWhile fundamental limits in electrical engineering

were formerly always physical, today they are as likelyto be complexity (and its cousins, decidability andcomputability). Carefully conceived architecture isnecessary to manage complexity, sometimes at theexpense of efficiency. An important tool for com-plexity management is abstraction. One of the mostdramatic successes of abstraction is digital design,where circuits are modeled as Boolean functions.Another example is synchronous design, where timebecomes discrete.

Of course, the synchronous and digital abstractionsare not always successful. If a design is pushing the per-formance limits of the circuit technology, we may haveto revert to an analog design that abandons theseabstractions (as in RF and microwave frequenciestoday). It is also clear that the abstractions used in dig-ital design will have to be changed for deep submicrontechnologies, where nonidealities like crosstalk andwire delays will have to be taken into account.However, this will have to be done by modifying theset of abstractions, rather than abandoning abstractionper se.

Many designs today simultaneously use multipleabstractions. For example, a microcontroller may beconceived as a synchronous digital circuit and thenabstracted as an instruction set. The instruction setmay be further abstracted by a compiler, in which casedesigns are carried out in a higher level language suchas C, C++, or Java. Operating systems, software com-ponents (Java Beans or ActiveX), and middleware(such as CORBA or DCOM), offer still higher levelsof abstraction for system design.

In some situations, the performance penalty incurredby basing designs on higher levels of abstraction canbe substantial. This penalty, however, becomes perfectlyacceptable when we realize that the design could notbe conceptualized well at lower levels of abstraction,or that the cost or time to carry out the design wouldbe excessive. A design carried out at too low a level ofabstraction is likely to be poor, late, or both.

In other situations, performance and efficiency mayactually improve by using higher levels of abstraction.A user interface for a microwave oven, for example,

January 1998 79

The overlap between EIS and CS forms a substantialpart of the current dynamism in our field. Yet it ispoorly served by most ECE, CS, and EECS curricula.

The choice of term “electronic information sys-tems” is debatable, but more traditional terms fail toserve our purposes. We note that there is a strongoverlap between the area we have described and whatelectrical engineers call “systems” or “systems the-ory.” Use of these terms, however, conflicts with theuse of the term “systems” in computer science, whereit refers to software systems and operating systems.Since our discussion focuses on overlap areas, wehave to choose an alternative term. Why not the sim-pler “information systems,” since the intellectualunderpinnings of EIS really do not depend on theimplementation in electronics? We avoid this term todistinguish the subject from what a business schoolwould call “information systems” or what a libraryschool would call “information systems.”

Any taxonomy of intellectual activities can be end-lessly debated. Nevertheless, to design a curriculum, wehave to take a stand on the specific content of each ofthese disciplines. We believe that the unifying principleof EIS is its formal approach to modeling systems. Sucha formal approach has always been a strength of bothtraditional electrical engineering systems theory andcomputer science theory. That it becomes logical toreclassify these traditional approaches is a consequenceof the rising level of abstraction in the design of elec-tronic systems.

The fundamental ideas in EIS might include such tra-ditional EE concepts as discrete-time and continuous-time signals, frequency domain, and feedback control,as well as overlap concepts such as discrete events,streams, state, automata, concurrency, and random-ness. This differs from a purely EE view of systems inthat continuous-time signals are merely one of manytypes of signals. At the opposite extreme in abstractionwe have streams, which are discrete and possibly infi-nite sequences of values with no underlying notion oftime. In between are events, in which values occur intime but irregularly. Most systems-oriented under-graduate EE curricula cover continuous-time signals,treat discrete-time signals as an advanced topic, andignore the rest.

.

80 Computer

has very modest speed requirements. If it isdesigned directly in digital hardware, the result-ing design will very likely be capable of handlinguser interactions at superhuman speeds, quiteunnecessarily. A programmable microcontroller,in contrast, achieves effective reuse of hardwaremodules to reduce hardware complexity andallow for better features, all the while reducingdesign effort.

Increasingly, designs combine elements bettermatched to programmability with elements bet-ter matched to custom hardware. The essentialdifference today is that software is sequential andhardware is concurrent, but this distinction isblurring. Technologies such as behavioral com-pilers are introducing a more sequential style intohardware design. Meanwhile, concurrent pro-gramming languages are introducing more con-currency into software design. The essentialquestion becomes one of choosing the right

abstraction, not one of choosing between hardware andsoftware; in fact, it is arguable that the latter choice isnonsensical since every software design, when viewedat another level of abstraction, is a hardware design.

There are two consequences for curriculum devel-opment. First, we must prepare students to selectabstractions, not just technologies. Second, just asdesigns can be built on top of higher level abstractions,so can courses. A course in synchronous digital design,for example, can build up from that abstraction, rele-gating the study of the underlying circuits to anotherpart of the curriculum.

Advances in design technologyThe design of today’s multimillion-transistor chips

would be very difficult to accomplish without com-puter-aided design tools. These tools manage evolvingdesign information, aid the coordination of multipledesigners, automate certain optimization tasks, andallow the designer to work with higher levels ofabstraction. It is arguable that the latter role, whilebeing the most important, is the slowest to evolve. Inthe context of digital design, the Mead-Conwayapproach and hardware design languages (nownotably VHDL and Verilog) are two key milestoneswhere new, higher level abstractions were made avail-able to designers.

The prevalence of such tools has implications to theengineering curriculum. These tools, with theirstrengths and weaknesses, can change the relative pri-orities of subjects, all of which might be consideredfundamental by many. Tasks that are routinely auto-mated, such as Boolean logic minimization, should berelegated to more specialized courses where the prin-cipal concern is the design of the design tools, not thedesign of digital circuits.

New subjects are also made fundamental by thetools. Verilog and VHDL, for instance, are concurrentprogramming languages with a discrete-event modelof computation. An informed consumer of designtools, therefore, needs to have some fundamentalunderstanding of concurrency and discrete-event mod-eling. These subjects are entirely absent from mostelectrical engineering undergraduate curricula.

Given the inherent tension between depth andbreadth, managing this change in education is diffi-cult. We do not want to neglect fundamentals, includ-ing those fundamentals embedded deep within tools,where they are necessary to understand the tools andto use them more effectively. On the other hand, we donot want to waste precious classroom time on topicsthat are better delegated to the tools. It is difficult todraw generalizations in this area, but we believe thateducation has followed an appropriate middle ground.If there is a problem, it is in having inadequate instruc-tional computing facilities and staff support for a cur-riculum that fully embraces design technology.

CHANGES IN THE ENVIRONMENTWe believe that the external environment for engi-

neering employment for ECE graduates is changingin some fundamental ways. For some time, we havebeen discussing the need for more communicationsskills, cultural awareness, and group project experi-ences to better align education with the needs of theworkplace. Taking this as a given, there are now otheraspects of the outside environment that should betaken into account. Again, we don’t intend to argue infavor of teaching overtly vocational skills, but ratherto ask whether there is a more fundamental mismatchbetween the fundamentals of our educational experi-ence and the workplace.

Organizational changesLarge, vertically integrated corporations are increas-

ingly rare. Industries are reorganizing around a hori-zontal integration model, in which the application andthe infrastructure supporting that application areunbundled. The new organization is the reality in com-puting, and is becoming the reality in communica-tions. Chief among the reasons for this is the lowerincremental investment in deploying new applications,where they leverage an existing infrastructure sharedby many applications. The model also rewards thecustomer with greater competition in the industry,leading to lower prices, higher quality, and more fea-tures. Another, more technical reason, is integratedservices and multimedia, where applications need tointegrate many capabilities.

Even in the absence of horizontal integration, theindustry is becoming more fragmented. No marketdisplays this more than the home environment, where

Aside from the needsthat have beendiscussed foryears—better

communicationskills, culturalawareness, and

team skills—there isnow an even more

fundamentalmismatch

between educationand the workplace.

the telephone, cable, consumer electronics, and com-puter industries are vying to find a niche at the expenseof other players. With horizontal integration, eachorganization becomes at the same time more focused(concentrating on one horizontal layer) and lessfocused (not concentrating on any particular applica-tion, but rather trying to service them all).

No matter how this industry fragmentation occurs,it implies that many products can no longer bedesigned in isolation, and it is less frequent that oneproduct provides value to the consumer in isolation.Rather, designers must be acutely aware of comple-mentary, as well as competing, products. Often, thereis the need for two, and often many, companies to col-laborate opportunistically in designing, manufactur-ing, and marketing a product.

This industry fragmentation means that not onlymanagers, but also designers, must be cognizant ofmany factors that impact their design choices. Thesefactors include coordination with complementaryproducts, standards, and available design tools. Theyalso include basic considerations impacting the suc-cess of their designs, such as economics, human fac-tors, standardization, regulation, and the basicstrategic goals of the organization, such as minimizingtime to market at the expense of manufacturing cost.

Changes impacting engineersMany engineers will be working in smaller organi-

zations, working on more narrowly focused markets.In that environment, each individual engineer mustassume a broader role, encompassing areas like mar-keting, standardization, contractual relationships, andso on. Engineers who insist on remaining “strictlytechnical” are not as valued in such organizations.

There will always be an important role for engineerswho choose to specialize in highly technical job skills.Current examples include analog circuit design,extremely high-speed digital design, device design,operating system and compiler design, and many oth-ers. Successful engineers in this category will morethan likely have a graduate degree, often a PhD. Wewill call them the “technical experts.”

Those engineers whose contribution remains largelytechnical, but who do not fall into the technical expertcategory are likely to find themselves designing digi-tal systems consisting of some mixture of hardwareand software. We call them the “designers,” to con-trast them with the technical experts. These designersare more likely to have a BS or possibly an MS.

For these designers, the traditional, formal, math-ematical electrical engineering background has lessvalue than it once did. These engineers do not need todesign circuits, but rather systems. The hardware por-tion of their design task is actually more similar toprogramming than to circuit design. They are most

concerned with underlying abstractions likeevents and concurrency. When they doencounter applications in which the perfor-mance cannot be achieved through standarddesign tools (increasingly rare), they will fallback on the technical experts.

As design tools increasingly take care of rou-tine design tasks, there is less value added byroutine design decisions, and more value addedby overall system architecture, complexity man-agement, and, most of all, relating the needs ofthe application to the design. Increasingly, rou-tine designs of well-specified modules can beoutsourced to design groups in other countries,where the engineers are willing to work at a fractionof the salaries US students wish to command. If ourstudents wish to command high salaries, they willneed to focus on the aspects of the design that will betightly held in this country, including relating to appli-cation needs, system architecture, and managementof the design process. Alternatively, they can becomethe technology pioneers and experts who are expand-ing the frontiers, should they choose to pursue a grad-uate education.

FUNDAMENTAL KNOWLEDGE AND SKILLSWe now turn to the question of what fundamental

skills and knowledge come to the fore in this newworld of programmable digital system design.

System modelingA traditional strength in electrical engineering has

been its formal approach to system modeling. Well-developed mathematical frameworks, such as Laplaceand Fourier transforms, differential equations, ran-dom processes, and linear algebra, have provided thefoundation for modeling of circuits, signal process-ing, feedback control, and the communication phys-ical layer. All of these areas, however, have becomethe domain of the technical experts and are increas-ingly out of the purview of the designers.

To address the needs of the designers while pre-serving the traditional strength in formal modeling, wehave to raise the level of abstraction. The notion of“signal” should no longer be only “voltage over time”but should be generalized to include discrete arrival ofmessages. The notion of “state” should no longer bethe variables in a differential equation, but should begeneralized to include the state of a finite automaton.The notion of “system” should no longer be a matrixdefining a linear update, but should be generalized toinclude a Turing-complete computational engine.

An undergraduate program should put less empha-sis on linear time-invariant, continuous-time models,and instead present a broader range of formal mod-els for systems. Some institutions have already given

January 1998 81

In smallerorganizations, each

engineer mustassume a broader

role, encompassingareas likemarketing,

standardization,and law.

.

82 Computer

equal or greater weight to discrete-time model-ing compared to continuous-time modeling.The emphasis, though, is still on linear time-invariant systems and regular time steps, prob-ably because the theory is so well developed.Nonlinear systems theory, unfortunately, is notwell developed. Complete, understandablemodels are rare, and apply only to specializedscenarios. One aspect of nonlinear systems the-ory—chaotic systems—is valuable in a curricu-lum because it illustrates dramatically thefundamental limitations of deterministic formalanalysis. It says, in effect, “this approach ishopeless.”

Random processes, by contrast, provide a wealthof analytic techniques that have been applied suc-cessfully at very high levels of abstraction, such as arti-ficial intelligence systems and communicationnetworks. In many engineering curricula, however,random processes are introduced at the senior or grad-uate levels, too late to be of much use to the designers.

State space modeling, which originated in the con-trol systems community, has shown its major strengthwith LTI systems. Independently, however, the com-plementary approach of finite automata theory, whichoriginated in computer science, simplifies the state spaceto be discrete and finite, and exploits this simplificationto develop a rich and powerful theory. That theory ispotentially useful to both the designer and the techni-cal expert, while the former control systems theory hasbecome primarily useful only to the technical expert.Indeed, the control systems community has addressedsome of the limitations in their traditional modelingtechniques, and has married the two state spaceapproaches to develop a theory of hybrid systems.

A challenge in designing a curriculum around thisbroad range of formal system modeling techniques isthat the field is less mature than the tried-and-true LTIsystem theory. For example, an emerging area is thetheory of discrete-event systems. Hybrid systems arepart (but only part) of this. This theory could be par-ticularly challenging to integrate into the curriculumbecause it is fundamentally based on an entirely dif-ferent mathematical foundation than traditional sys-tem theory. Instead of differential equations, it usesdiscrete mathematics, mathematical logic, topology,and the theory of partial orders. These are not neces-sarily more difficult or advanced than differentialequations, but they aren’t included (or even hinted at)in courses entitled “engineering mathematics.”

Architecture and complexity managementArguably the most important phase of the design

process, after the definition of goals, is the definition ofthe architecture. Architecture refers to the partitioningof functions into modules and the choice of abstraction

defining the interaction of the modules. A successfularchitecture makes the internal workings of the mod-ules as independent of one another as possible.

A successful architecture will exploit or promotereusability by either applying previously designed com-ponents or defining components that are sufficientlyconfigurable to be reused in the future. Failing to reuseprevious designs can cause a project to drown in com-plexity. Detractors will often argue that making com-ponents reusable compromises their efficiency orperformance. But failing to do so has much more direconsequences: It makes only trivial designs feasible.

The design of architectures, with relevant conceptsand theories and many design experiences, should bea part of every designer’s education.

Hardware and softwareSyntactically, hardware and software have com-

pletely merged. While it used to be that logic diagramsand schematics were used for hardware design, nowit is more often Verilog and VHDL programs. Theseprograms syntactically look much more like softwarethan hardware. What makes them hardware is theconcurrent semantics behind that syntax.

Software engineering and hardware engineeringsuddenly have a great deal in common. Both are con-cerned with source code control, interactive debug-ging, data structures, compilation techniques, andprogramming language semantics. Digital systemdesign is largely a programming task. At the practicallevel, digital hardware design in the modern sense ofemploying computer-aided design tools and hardwaredescription languages requires a set of programmingskills remarkably similar to software design, even inthe use of discrete-event models and concurrency.

From an educational perspective, the fundamentalskills required of future digital system designers arenot much differentiated from software designers. Ofcourse, there remains a need for specialists in “puresoftware” (those concentrating on operating systemand higher layers up through the application, the tra-ditional domain of computer science) and “high-performance hardware” (those able to tread effectivelybelow the digital abstraction, tuning performance forspecial-purpose designs by sophisticated circuitdesigns). But there is a broad middle ground wherethe fundamentals are, we believe, essentially the samefor hardware and software, and where the engineerswill have to be equally adept at both.

While one might argue that Moore’s law is generallydriving design from hardware toward software, soft-ware design is also increasingly benefiting from hard-ware-like design methodologies. There is today anincreasing emphasis on reusability in software, andone approach that is gaining momentum is softwarecomponents. There is also an increasing interest in

The design ofarchitectures, withrelevant conceptsand theories and

many designexperiences, should

be a part of everydesigner’seducation.

.

concurrency and communication within a softwaresystem.

The sophisticated concurrency model embodied insynchronous/reactive programming languages likeEsterel and Lustre overtly uses the synchronous hard-ware metaphor, and compilers for these languageshave borrowed methods from hardware synthesis.Concurrency in software, however, can assume moreforms than it can in hardware. It need not be boundby notions of time or distance, for example, and canintroduce the notion of transportable computation,such as agents or Java applets, that have no counter-part in hardware.

IMPACT ON EDUCATIONThus far, our argument might be interpreted as requir-

ing much greater breadth. Are we saying that studentsshould know not only basic technologies, but also com-plexity management, design automation, economics,and human factors? Clearly something has to give.

One answer is to modularize engineering the waywe modularize our engineering systems. If we can seg-ment the curriculum into distinct and perhaps over-lapping subcurricula, we can contain the knowledgeexplosion to some extent. The key issue is how thatpartitioning is to occur.

Another response is to extend the education. In ourview, four years is simply inadequate to train an engi-neer in this environment, and even five years is mar-ginal. Certainly this is the case for those aspiring tobe the technical experts.

Our solutionIf we designed a curriculum from scratch, we would

• target the undergraduate experience as a prepa-ration for graduate school, and incidentally alsoto serve students who want to enter other fields(such as law or medicine) or concentrate on man-agement, sales, and marketing;

• develop the masters program as a time when adeeper technical knowledge is obtained, preparingstudents for design careers. Their broader under-graduate education will serve them well in the newwork environment we have described; and

• reserve doctoral programs so that, in addition toproducing teachers and researchers, we preparetechnical experts who will work in industry infrontier and extremely high-performance tech-nologies. These experts will also carry forwardthe infrastructure and core technologies that con-tinue to form the important foundation of theindustry.

Teaching learning skillsOur students will face incessant change, and thus

one of the most important skills we can impartis the ability to learn. In our view, too much ofthe current curriculum is aimed at coveringeverything, attempting to ensure that studentswill have collected the necessary backgroundand skills for any conceivable professionalactivity they might encounter. This is, quite sim-ply, hopeless.

We would argue in favor of an approach wherea set of fundamentals are illustrated by currentapplication and technology examples. We shoulddepend on the students to pick up more of the lat-ter themselves, including assignments in whichthey do exploration on the Internet to find cur-rent relevant examples. This will give them use-ful vocational knowledge, buttress the principles,and most importantly leave them with the skillsand habit to pick up vocational knowledge on their own.

The pressure to focus education on vocational skillsis huge. Industrial recruiters complain about studentsnot having particular programming skills, or not hav-ing experience using some particular software or hard-ware tool. We should vigorously and unambiguouslyresist such pressure. In a field as dynamic as ours, noset of vocational skills has any significant longevity.It is far more important that our graduates be bright,curious, intellectual, and unafraid of learning newthings.

Unfortunately, many engineering educators whowould agree with this principle in fact preach a doublestandard. All too often we hear students being told to“improve their programming skills,” or worse, “learnC++.” Most designers should expect to need to learnseveral new programming languages during their career.Frequently, they will not even recognize these as pro-gramming languages, because they are highly special-ized (as in a macro language for a spreadsheet) or havean unusual syntax (as in visual dataflow languages forsignal processing).

Students who have been misled into believing thattaking a course in C++ will give them all the pro-gramming skills they will ever need will be poorlyequipped to adapt to changing technology. The morefundamental concepts of data structures, object-ori-ented design, and functional programming will bet-ter prepare them.

Using the InternetEmerging technologies, particularly the Internet, will

have a more profound impact on our education thanwe realize. One possible effect is that students will learnthe boundlessness and often contradictory complex-ity in any particular technical discipline. Traditionalengineering courses often try to circumscribe a body ofmaterial, creating a complete and coherent subject withconsistent notation, and within which every problem

January 1998 83

The pressure to focus educationon vocational skillsis huge. We should

vigorously andunambiguously

resist suchpressure—no set ofvocational skills has

much longevity.

.

84 Computer

has a right solution. Although pedagogically use-ful, when related to the real world this approachis seriously misleading. One use of the Internetis to illustrate for students the inconsistent nota-tion and sometimes conflicting or even contra-dictory approaches described there.

The Internet will also help make connectionsbetween interrelated ideas without devoting pre-cious lecture time to establishing connections withareas that some students will be able to relate toand others will not.

A third effect is that dynamic behaviors of engi-neering systems can be much more readily pre-sented on a computer than on a blackboard or ina textbook. No longer do we have to rely on the

imagination of students to interpret the dynamics in amathematical formula.

What is fundamentalWe now arrive at an essential and important ques-

tion. We have identified a number of skills and fun-damental knowledge that students need to navigateat higher levels of abstraction. We believe there is noroom for expansion of the current engineering cur-riculum, and in fact argue that more room should beleft for nontechnical subjects such as economics andhumanities.

Thus we must give up something as well. Are theretopics in the current engineering curriculum that arenot so essential that they can be given up? If we pollthe faculty at any major engineering school aboutwhether the topic they teach is essential, the answerwill be “of course.” Moreover, they will probably beright, for a subset of the students.

The conclusion is simple: An undergraduate edu-cation in electrical and computer engineering will bedifferent for different students. Some students willfocus on technologies below the digital abstraction,and we believe most of these students should aspireto become technical experts and should consider itessential to go to graduate school. Others will focuson higher level abstractions, aspiring to be eitherdesigners or technical experts. This is in fact similarto the partitioning that has already occurred betweenelectrical and computer engineering and computerscience, where the latter focuses on software and soft-ware-defined systems as a separable issue. But a newrequirement for the designers is to gain an under-standing of more applications areas, which willdoubtless become more important throughout theircareer.

On the other hand, the core EE areas of semicon-ductors, circuit design, and manufacturing will focuson increasingly difficult and sophisticated problemsin both research and practice. The educational require-ments of highly technical areas will include a virtually

obligatory graduate degree, and, increasingly, a PhD.Digital systems also have many difficult research

agendas in areas such as algorithms, design systems,and concurrency management. There will be a con-tinuing and expanding need for graduate educationand research. At the same time, this area will becomea mainstream topic for undergraduate education, withmany more students to teach than in the core areas.This will be a difficult process to manage, as digitalsystems will require undergraduate teaching resourcesout of proportion with the research needs, and thecore areas will be the opposite.

Relation to computer scienceDigital systems will increasingly be programmati-

cally similar to some areas of computer science. Andcomputer science as a discipline has been moving inthe direction of digital systems. Some of the mostexciting developments in networking, like IP and tagswitching, are actually a merger of the traditional ECEand CS viewpoints, exploiting the strengths of each.Likewise, mobile computing done correctly becomesintertwined with signal processing and network pro-tocols. Multimedia applications in a networked com-puting environment encounter many issues of sourcecoding and signal processing that are a traditionalECE focus.

Even areas of computer science like databases, AI,and theory, which appear to remain largely distinctfrom ECE topics, actually have interesting connec-tions. Modern AI, for instance, uses stochastic mod-eling not unlike that commonly used in ECE.Computer science theory connects to traditional ECEtopics such as coding theory and communicationsthrough its approach to computational complexity.

We believe that a modern curriculum in electricaland computer engineering cannot be logically sepa-rated from a computer science curriculum. The levelsof abstraction used to design and model electronic sys-tems increasingly coincide with those used in com-puter science, and any artificial separation willinevitably lead to significant redundancy in the twocurricula.

W e believe that the center of gravity of mostundergraduate curricula today is too far onthe side of attempting to train the small cadre

of technical experts, a hopeless task within a four-or five-year program. Because of the hopelessness ofthe task, we cram too much content into the pro-gram, thinking it makes it better (and somehow lesshopeless). This shuts out other fundamental knowl-edge that we believe will be extremely valuable tothem in their design careers. Students have been seri-ously shortchanged by not understanding the big pic-ture.

An undergraduateeducation in

electrical andcomputer

engineering willbe different for

different students.

.

.

We advocate an alternative vision in which theundergraduate program focuses on a limited and care-fully chosen set of core ideas, supplemented by real-world examples and importantly by studentself-exploration and learning. Such an undergraduateprogram also emphasizes breadth, an exposure to arange of technical issues, as well as mathematics, sci-ence, humanities, and social sciences.

After the undergraduate experience, the studentsdivide themselves into several groups. One groupchooses to leave with an undergraduate degree, per-haps returning to school later to obtain a master’sdegree in engineering or business, or perhaps empha-sizing a career in design management, marketing, orsales. A second group stays for a master’s degree, leav-ing with the skills to be long-term design profession-als. The third group stays for a doctorate, andbecomes the cadre of technical experts who are pre-pared to tackle the difficult technical challenges andcarry forward the core technologies.

In Abstracting Craft, McCullough reminds us thatcrafting things is at the core of humanity: “It is ourtalent to bring a mass of raw material into conformitywith a vision. We fashion tools and coax materials.”He builds a case that this essence of humanity is alsothe essence of technology today: “Our use of com-puters ought not be so much for automating tasks asfor abstracting craft.”

Computers, and more broadly, digital electronics,offer a new creative medium where “things” are craftedon top of abstractions, and every aspect of craft, itshumanism and its cultural context, comes into play.

More than any prior human craft, this time we craftthe medium as well as the artifact and the tools. Theengineers that will do this best will be more creativethan technical, and far more comfortable with abstrac-tion. ❖

Edward A. Lee is professor of electrical engineeringand computer science at the University of Californiaat Berkeley. Together with Messerschmitt, he was oneof the founders of the Ptolemy project, which cur-rently serves as the focal point for his research. Hisresearch activities include design methodology forembedded systems, real-time software, discrete-eventsystems, visual programming, and architecture andsoftware techniques for signal processing. Leereceived a BS from Yale University, an SM from MIT,and a PhD from UC Berkeley. He won the 1997 Fred-erick Emmons Terman Award for engineering edu-cation.

David G. Messerschmitt is Roger A. Strauch profes-sor of electrical engineering and computer science atthe University of California at Berkeley. His researchinterests include the future direction of the mergednetwork computing and telecommunications infra-structure, including wireless access, configuration ofquality-of-service attributes, and the interaction ofthese functions with signal processing. Messerschmittreceived a BS from the University of Colorado andMS and PhD degrees from the University of Michi-gan. He was chair of the EECS Department at UCBerkeley from 1993 to 1996.

January 1998 85

Further ReadingS.W. Director et al., “Reengineering the Curriculum: Design

and Analysis of a New Undergraduate Electrical and ComputerEngineering Degree at Carnegie Mellon University,” Proc. IEEE,Sept. 1995, pp.1,246-1,269.

D.A. Fraser, “Electrical Engineering Education: Twenty-FiveYears on the Influence of Developments in SemiconductorTechnology,” Int’l J. Electrical Eng. Education, July 1988, pp.219-227.

M.G. Hartley, “Trends in Electrical Engineering Education—A 25-Year Retrospective,” Int’l J. Electrical Eng. Education, July1988, pp. 209-217.

J.G. Harris, “The National Science Foundation Workshop onUndergraduate Education in Electrical Engineering,” Proc. 1987Frontiers in Education Conf., IEEE Press, Piscataway, N.J.

W. Kline, “World War II: A Watershed in Electrical EngineeringEducation,” IEEE Technology and Society, Summer 1994, pp.17-23.

J.Z. Lavi, B. Melhart, I. Pyle, “Engineering of Computer-BasedSystems—A Proposed Curriculum for a Degree Program atMaster Level,” Proc. Int’l Conf. and Workshop on Engineering

of Computer-Based Systems, IEEE CS Press, Los Alamitos, Calif.,1997, pp. 54-63.

J.H. McClellan et al., “Using Multimedia to Teach the Theoryof Digital Multimedia Signals,” IEEE Trans. Education, Aug.1996, pp. 336-341.

M. McCullough, Abstracting Craft, MIT Press, Cambridge,Mass., 1996.

S.K. Mitra, “Re-Engineering the Electrical EngineeringCurriculum,” Proc. 1997 IEEE Int’l Conf. Acoustics, Speech,and Signal Processing, IEEE CS Press, Los Alamitos, Calif., 1997.

D.C. Munson Jr., “Elements of a New Electrical EngineeringCurriculum at Illinois: A Shift from Circuits to Signal Processing,”Proc. 1995 IEEE Symp. Circuits and Systems, Vol. 1, 1995, pp.1-4Sf.

J. L. Pokoski, “Technological Evolution, Social Revolution, or OldFogeyism (Electrical Engineering Education),” Proc. 1989 Frontiersin Education Conf., IEEE Press, Piscataway, N.J., 1989, pp. 248-253.

A.B. Tucker et al., “Strategic Directions in Computer ScienceEducation,” ACM Computing Surveys, Dec. 1996. pp.836-45.