Electrical Engineering Undergraduate Curriculum
Robert Dutton, Andrea Goldsmith, Nick McKeown, Eric Roberts,
Olav Solgaard, Dwight Nishimura, Ross Venook, Simon Wong, Mark Horowitz
1. Introduction
The outline of the current
undergraduate curriculum was put in place over 15 years ago, and while it has
evolved, the basic structure and emphasis has remained unchanged. Given the changing nature of both the
field of Electrical Engineering and the background of our students, the
department created a committee to review the curriculum. This document is the report of that
committee. It starts by reviewing
the state of the department and the current curriculum, and looks at the forces
driving both the department and its students. Section 3 provides an overview of
our revised curriculum and explains how this new plan adapts to both the
changing background of our students, and the changing nature of EE .
We propose to revise all of the classes that form the core of the curriculum,
and Section 4 describes these new classes in more detail. This section is followed by a
description of depth sequences.
Section 6 describes an aggressive, but feasible, transition plan for
moving to the new program, and Section 7 describes issues that we feel still
need to be addressed in the future.
While this report makes some very specific course proposals, we understand that the strength of a university like Stanford is enabling each faculty member to create the best class that they can. Thus our course outlines are a method of being more concrete about what topics we think are core to an area, rather than rigidly defining the class. Finally while we have spoken with many other faculty members to construct this document, our task is clearly not complete Ð we welcome further comments. It is only through this feedback that we will create a successful EE curriculum for the 21st century.
2. Background
As described in the most recent
strategic plan of the Electrical Engineering Department, the field of
Electrical Engineering has continued to evolved and
expand, further blurring its boundaries with other disciplines. In particular
the overlap with CS continues to grow, and
joint undergraduate programs at the border with CS are essential. The ability
to create joint programs with other departments is strongly desired, with areas like
bioelectronics worthy of serious consideration in the near future (although it
was not considered in this report).
In addition to becoming broader, electrical
engineeringElectrical Engineering has been strongly influenced
by the rapid growth in information processing. Information technology has both served
both as
a dominant consumer electronic technology, and provided the tools that drive
further innovations. As a
consequence, the complexity of the systems that our students deal with has
grown exponentially. Our
curriculum must provide them with not only the insights to understand the
underlying technologies and theories associated with each level of complexity,
but also the knowledge and skills to choose the appropriate abstraction level for each
component appropriate for
the task at hand, making the complexity work for them rather than against them.
The rapid growth
of information technology has also changed the background, training, and
interests of our students. Gone are the days when prospective electrical
engineeringElectrical Engineering students built or
disassembled electronic systems (with radio / audio amplifiers being the most
common) before they entered universities.
TodayÕs students have more exposure and background in software than
hardware. They have direct
experience manipulating ÒcodesÓ but not ÒdevicesÓ, feel more at home in the
virtual world of the computer, rather than the physical world. Students are also used to dealing in a
world with abundant information, and many distractions, and they feel more
comfortable in situations where the application for the information being
taught is clear. Our current
curriculum lays out the fundamentals first before getting to applications and
is a ÔÒpoor impedance matchÕ matchÓ to
our students.
In addition to delaying
gratification, the sequence structure of the current curriculum causes
additional problems for our students.
The core is too long, and too linear, making it difficult for students
to create a schedule that allows them to take many classes in their depth
area. Some depth areas are hard to
complete if you decide on an EE major latebelatedly.
Some students take the EE111-113 sequence concurrently with EE101-103, to avoid
some of these problems, which causes a different set of challenges for them. In
addition this structure does not encourage a student to ÒsampleÓ different
areas since a student needs to take many classes before reaching the essence or
excitement of the area. If we want
to foster work at the border of different areas, we need to create classes
that encourage sampling and build excitement in multiple areasclasses that build
excitement in the first class of a series.
In summary, we need to change our undergraduate
curriculum to
á motivate students to ÒsampleÓ different areas,
á
emphasize the integration of
knowledgehow fundamental principles cut across different
core areas,
á
include motivating examples for all the material in
the core,
á take advantage of the studentsÕ familiarity with ÒvirtualÓ environments,
á arouse the studentsÕ interest and curiosity in Òhardware,Ó
á blur the boundary between ÒsoftwareÓ and Òhardware,Ó
á broaden the studentsÕ appreciation of system issues, and
á
familiarize students with different levels of system
abstraction.
Unfortunately we need to implement these changes in a constrained environment. Stanford prides itself on being a liberal-arts university. Our undergraduates are not required to declare a major at the time of their admission, and have a number of distribution requirements during their first two years. They are encouraged to explore and develop a variety of interests before choosing a major. This both forces us to compete with other departments for the best students, and limits the amount of classes that we can include in our program. We are faced with a small number of classes we can require all students to take. To make room for classes that help with abstractions and dealing with complex systems, some material needs to be dropped from the current core. This is a difficult question, since all areas have strong proponents.
Our proposal keeps the core small,
and uses it to introduce areas that are not covered in depth. Our present curriculum was created when
solid-state electronics was the key area in EE, and so the curriculum is
centered on microelectronics devices and circuit design. While this remains a key area, it no
longer holds the dominant position it once did. Thus we are reducing the number of courses in the
solid-state electronics area, and
broadening the remaining classes.
The next section outlines the changes that we propose.
3. Key
Features of the Proposed Curriculum
We decided to
focus our
effort on defining the classes that would form
the core of the undergraduate program Ð classes that every EE student must take
Ð and classes that were are under the control of the EE faculty.
While we all thought there were issues with the current Math and Physics
requirements, we felt the current requirements were acceptable for the new program,
and changing them was more an issue for the School of Engineering. We agreed
that programming methodology (E70x Ð CS106x, or CS106B) should be kept as part
of the program.
To address many of the problems mentioned in the previous section, we set up the following goals for the development of the EE core requirements:
To tryMaking
to make the classes more interesting to the students
Enable more options in class selection
Provide immediate utility of material, and coupling to physical world
Creating
a stronger
tie
between hardware and software
Our proposed
undergraduate curriculum tries to address all these goals. It consists of one introductory
class that must be taken before any of the other core requirements and then
a two-course sequence in each of three different core areas. The core areas are Signals and
Systems, Electronics, and Digital Systems. The introductory class is a revised E40 that has two
goals: provide a glimpse of the excitement of EE, to encourage the best
students to declare EE, and give the student enough of the needed common
tools of EE so the remaining core areas sequences can run
concurrently(I thought the core would run subsequently to
E40). In addition to E40, we propose a
new class that serves to introduce our students to the Ôphysical scienceÕ
side of EE. This class would
be part of the core curriculum, would introduce our students to the utility
of the physics they took earlier by using it to explain the behavior of,
for example, transmission lines, MEMS devices, and photonics. This class would take the place of
the current EE141 requirement.
This new
structure addresses many of the goals we mentioned above. To address the remaining issues,
each of the core classes will be coupled with a laboratory. The lab will enable the students to
ÔuseÕ the information provided in the class almost immediately, to
reinforce its utility. In
addition, both of the introductory classes will have a strong application
focus, introducing to the students to the power of
the techniques that will be covered in more detail. The core classes will continue to
use applications to motivate the analysis / mathematics developed in the
class and provide examples for the class labs.
Currently
there are two lab classes that every EE student takes Ð EE121 and EE122. The digital lab class (EE121) is
replaced by the first class in the digital systems core sequence. EE122, the analog design lab, is a
relatively open design class that gives students an opportunity to
experiment with what can be done with electronics, and can be taken
immediately after E40. We feel
that this is exactly the type of design class that all students should
take, and so have
left it as a required class in the new curriculum. However, we believe other If/when other entry
level undergraduate ÔdesignÕ labs are should be created and ,
students should have the option to choose the lab
(electronics, signals and systems, etc) that most interest them.
The breadth
of EE, and the EE undergraduate program is clearly larger than what is
covered in the core sequence. Students will be encouraged to explore these
areas after completing the coreÕs prerequisites. To encourage students to
take these classes, the core classes will ÔadvertiseÕ for other classes
that relate to the core area.
For example, although we have taken most of the device physics out
of the core, we expect that the ElectronicÕs
core will mention the importance of device models and modeling, and provide
information about where students can find classes in these areas. Although we are reducing the number of core
classes, we have added a lab component to each class. As a result we feel that all the EE core classes should
be worth 4 credits, leaving the number of credits in the core
nearly the same. Thus the
number of required classes Since we have one
fewer class in the core, students will take four classes in
their depth area will remain three.[1]
, rather than the
current requirement of three.
Currently there are six undergraduate depth areas:
Computer Hardware
Computer Software
Controls
Electronics
Fields and Waves
Signal Processing and Communications
In the new proposal, we have increased the number of depth areas, so it makes sense to group them into four major areas:
Digital Systems
Signals, Systems and Control
Electronics
Fields and Waves
Each of these areas has a number of possible depth areas. Again using Electronics as an example, there are sequences that range from electronic control systems, to photonic-based electron devices. A preliminary proposal for the different depth sequences is given in Section 5.
Creating a new curriculum requires
considerable effort, and transitions are always difficult. Many of the proposed classes are
similar to existing classes, which should both help in the development of
the new classes, and ease the transition to the new curriculum. The figureFigure 1 below
tries to show how the current classes have been morphed to the
new curriculum.

FIGURE??????
4.
Contents of Proposed Required Fundamental Courses
Introductory
EE Course E40Introduction to Electrical Engineering Ð
Circuits and Systems (Revised E40)
The introductory EE
course should ideally meet the following, somewhat contradictory,
objectives: (1) To prepare our
students for the first class in each of the three core areas, and for the design lab. (2) To stimulate interest in
Electrical Engineering and serve as a recruiting tool for undergraduate
students to the department.
(3) To give an introduction to Electrical Engineering for non-majors
since it is a general engineering course. Clearly the last two of these
goals are closely connected in the sense that we must do a good job
teaching to non-majors to make them want to become EE majors. The first objective, on the other
hand, would be better met by an electrical
engineeringElectrical Engineering course that
focuses on the necessary background material. We all agreedThe committee strongly
felt that with StanfordÕs undergraduate structure, it is a bad idea to
construct two classes, one for the true EE, and one for the outside majors,
since many students will not have made that decision until after they take
this class.
The committeeWe
discussed revising E40 for a long time. E40 is a mature class that works well, with a well
established course reader and set of labs. Some felt that since the class was Ônot brokenÕ we
should leave it alone. After
careful deliberation, the committee felt that the class needed to be
revised to address two key issues:
To accomplish these goals will take a major redesign of the
class, a task that we do not take lightly, but one we feel is worth the
effort.
Goals:
The primary goal of this course is to introduce students to the breadth of activities that occur in the EE department, and give them a sense of the ÔpowerÕ of being an EE. That is, this class should be a powerful recruiting tool to attract good students into EE. To accomplish this, the students need to create something at the end of the quarter that they had no idea they could do when they started.
The lesser goal of this class is to set the common framework that the other core classes can rely on. In particular it should set up what Signals and Systems, Electronics, and Digital Systems are, so the student has some expectations for the rest of the core. It is essential that this class introduce the students to the basic notion of levels of abstraction, and how to work a problem at different levels. It also needs to introduce the basic ideas of the three core areas, so for example the Electronics classes can assume a student has seen frequency response without a Signals and Systems prerequisite. The key concepts are:
á There are often different ways to view the same data, using time and frequency domain as an example.
á
What is are voltage
and current, KCL and KVL
á MOS transistors as switches, simple gates and small digital circuits
There are many possible directions that this class could take. Unlike the other classes in the core, we will present only a sketch of a revised E40. We felt it was essential to get the instructor of the course involved before setting up a class in detail.
One suggestion was to base the class on a radio-controlled car. The class would be divided into roughly three equal sections. The first part of the class would talk about the abstract problem of communicating with the car. It would postulate that we could create a communication link (channel) to the car, and then would discuss how many signals would we need to send to the car to control it. From there it could look at the problem of controlling the car, and look at what sensor could be used, and what control loops might be required. All this would be done at the system level, introducing the students to the basic tools of Signals, Systems and Control, and also the power of abstractions.
The second third of the class would look at some of the
ElectronicÕs issues in building components
to implement the system that was discussed in the first third of the
class. It would introduce
the notion of voltage, current and power, and then show the simple rules
that govern their behavior.
It is easy to demonstrate power (things get warm),
batteries run out), resistor circuits and
electromagnetic force. This
section would also show that analog signals suffer from noise, and it is
hard to get high precision.
The third part of the class would introduce digital systems, and
show that one can use non-linear circuits to minimize the effect of
noise. This will lead to a
discussion of simple digital logic, and aa small state machines that can be used to build a
digital control loop for the car.
There are many other applications that could be used to drive the class.
á
Autonomous vehicle, such as the
ÒmicromouseÓ. This would
follow a similar outline to the radio controlled car, but the control
loop would have to be internal
á
Infrared transmitter system. The class could
begin with looking at the problem of remote
control. It would look at
the problem in the abstract Ð how to control the correct piece of equipment, and how to
detect the signal you want, from the ambient light
(coding). It would quickly go to the digital domain, and
at the end could be the electronic section where the students built a
remote.
á
CD/DVD reader. There is the overall system design, the analog systems
to control the spindle, read arm and the read head, and the notion of
coding to correct error
.
CD/DVD reader. There is the overall system design, the analog systems
to control the spindle, read arm and the read head, and the notion of coding
to correct error.
Autonomous vehicle, such as the ÒmicromouseÓ.
á Etc.
Signals,
Systems and Control Sequence
The signals,
systems and control core will replace the current 102, 103, and 104. The material in these new classes
leverages these old classes quite heavily.
Goals:
The goal of this
two-quarter core sequence is to provide an introduction to the
mathematical models and tools used in the design and analysis of
electronic signals and systems. The treatment includes both continuous
and discrete time systems. The main concepts that the students should
come away with are the time and frequency response of linear
time-invariant systems, transform techniques and how they are used in
system analysis, sampling and reconstruction, filtering, linear system
theory, feedback, and control. Applications from communications, signal
processing, and control theory are used to
illustrate the basic concepts and motivate the techniques.
The sequence will
include a laboratory component using Matlab exercises and projects to
illustrate the concepts and applications, and also bring in some design
considerations and creativity.
Syllabus:
While most EE
departments at other universities include this material in their
core sequences,
there are differences in whether continuous and discrete time
are taught together or
separately, and in whether communications/signal processing and control
are taught together or sequentially. Two possible course sequences are
listed below in detail, which represent the following different approaches:
Sequence I:
continuous and discrete taught sequentially,
communicationsCommunications,
signal processing, and control integrated
Sequence II:
continuous and discrete integrated, communications/signal
processing Processing and
control taught sequentially.
In Sequence I
below continuous time is taught before discrete time. Switching the order
of Course 1 and 2 within this sequence would teach discrete time before
continuous time. In Sequence II communications/signal processing is
taught before control. Switching the order of Course 1 and 2 within this
sequence would teach
control first.
These sequences
and their permutations cover most of the proposed methods to teach this
material. Any order is fine, as long as the basic principles are
included. It will be up to the lab and faculty mentor for these classes
to decide the sequence and order that works best.
Sequence I:
Course 1:
Continuous-Time Signals and Systems
---------------------------------------------
Introduction and
Motivation
Linear
Time-Invariant Systems:
-Basic properties:
linearity, time-invariance, stability, causality
-Impulse and step response
-Response to exponentials
and sinusoids
-Periodic functions
-Convolution
Fourier Analysis
-Fourier series and
transforms
-Frequency response
-Bode plots
Filtering
Applications from
Communications and Signal Processing
Systems Theory
-Laplace transform
-Feedback
-Stability
-Control
Applications from
Control and Circuit Theory
Review, Summary,
Extensions
Course 2:
Discrete-Time Signals and Systems
------------------------------------------------------
Introduction and
Motivation
Linear
Time-Invariant Systems
-Discrete system
properties: linearity, time-invariance, stability, causality
-Difference equations
-Discrete impulse response
and step response
-Response to discrete
exponentials and sinusoids
-Convolution
Fourier Analysis
-Discrete-Time Fourier
transform, DFT, FFT
-Relation to
continuous-time Fourier transform
Sampling and
Reconstruction
Digital Filtering
Applications from
Communications and Signal Processing
Systems Theory
-z-Transform
-Feedback
-Stability
-Control
-Quantization Effects
Applications from
Discrete-Time Control
Review, Summary,
Extensions
SEQUENCE II
Course 1: Discrete
and Continuous Signals and Systems
-------------------------------------------------------------------
Introduction and
motivation
Properties of LTI
Systems
Continuous LTI
Systems
-Impulse and step response
-Response to exponentials
and sinusoids
-Convolution integral
Discrete LTI
Systems
-Discrete impulse and step
response
-Response to discrete
exponentials and sinusoids
-Convolution sum
Fourier Analysis
for Continuous Signals
-Fourier series
-Fourier transforms
-Frequency response
-Bode plots
-Filtering
Fourier Analysis
for Discrete Signals
-Discrete time Fourier
series
-DTFT, DFT, and FFT
-Relation to
Continuous-Time Fourier Transform
-Digital Filtering
Sampling and Reconstruction
Applications from
Communications and Signal Processing
Review, Summary,
and Extensions
Course 2: Discrete
and Continuous Control
---------------------------------------------
Introduction and
Motivation
Causal LTI
systems: Differential and Difference Equations
Time Domain
Analysis of Continuous LTI Systems
-Unit and step response
-Stability
-Solutions of Differential
Equations
Time domain
Analysis of Discrete LTI systems
-Unit and step response
-Stability
-Solutions of difference equations
Laplace Transform
Z Transform
Linear Feedback
Systems
Root Locus
Analysis
Nyquist Stability
Nonlinear Systems
Applications from
Circuits and Control Systems
Review, Summary,
and Extensions
Possible
Textbook
Sequence I (continuous and discrete time taught sequentially):
Potential textbooks for both Course I and Course II:
1) Signals and Systems: Girod, Raberstein, Stenger, John Wiley and Sons.
Sequence
II (continouscontinuous
and discrete time integrated):
Potential textbooks for Course I (signals and communications)
1) Signals and Systems: Oppenheim and Willsky, Prentice Hall
2) Linear Systems and Signals: Lathi, Oxford University Press
3) Signals and Systems: Haykin and Van Veen, John Wiley and Sons
Potential textbooks for Course II (control)
1) Linear System Theory, Rugh, Prentice Hall
2) Modern Control System Theory and Design, Shinners, John Wiley and Sons
The
electronics sequence underwent a large change in this revision, reducing
the number of classes in this area from four (101, 111, 112, 113) to
two. Essentially the two
classes on semiconductor devices (111, 112) were moved to one of the
depth options in the Electronics area, and the final class 113 was
heavily modified to include more material on Bode plots, and dealing with feedback in
circuits. The content of 101
was recently revised by Stephen Boyd and Abbas El Gamal and is close to
the structure that we are striving for in our new core. As a result, the proposed
syllabus for Electronics I is the current 101 course. The major proposed change it to
create a lab associated with the class,
to make the application of circuit analysis more clear. The integration of the lab will
cause the class to change.
The goal
of this two-quarter sequence is to introduce students to circuit modeling
and analysis. This includes
creating a model of components in the system you want to analyze, and the
methods for analyzing the resulting system. It is in this course that students will use KCL and
KVL, and learn how to use linear network theory to solve linear and
non-linear circuits (statics and dynamics). The 1st
class will provide examples of model creation, including creating
simplified models with a restricted range (small signal analysis). The
sequence will introduce the students to a circuit simulator, and provide
models for MOS transistors. One key goal of
this class is to show the students how relatively simple (linear) models
can be used to estimate the answers of very complex systems. It is also essential that
students learn some intuition that they can use to ÔcheckÕ the math
programs that they will use .
The 2nd class will cover the design of
analog circuits.
This class will use analog circuit design to bring out some of the general
issues that need to be addressed in the design of any system, including; modeling
issues, bias point analysis and linearization, technology constraints (e.g.
gain-bandwidth product), frequency response and bandwidth analysis, and designing to
meet a set of constraints.
It will introduce a number of the essential tools for design
analysis, including; MOS models,
first-order time-constant analysis, bode-plots, and analyzing
circuits with feedback. Essentially this class takes the basic
concepts of analysis learned in the first class, and provides the
needed tools to allow them to be used for synthesis.
some issues in
the design of circuits, including using Bode plots, and how to analyze
circuits with feedback.
Electronics
I
á
Modeling
o
What is a model and why it is useful
o
Lumped Element Models
á
Analysis of Static Circuits
o
KVL, KCL
á
Multi-terminal Static Circuits