EECS at UC Berkeley

Download Report

Transcript EECS at UC Berkeley

Next Century Challenges for
Computer Science and
Electrical Engineering
Professor Randy H. Katz
United Microelectronics Corporation
Distinguished Professor
CS Division, EECS Department
University of California, Berkeley
Berkeley, CA 94720-1776 USA
Agenda
•
•
•
•
The Information Age
Enrollment and Curriculum Challenges
Random Thoughts and Recommendations
Summary and Conclusions
Agenda
•
•
•
•
The Information Age
Enrollment and Curriculum Challenges
Random Thoughts and Recommendations
Summary and Conclusions
A Personal Historical Tour
• 20th Century as “Century of the Electron”
– 1884: Philadelphia Exposition--Rise of EE as a profession
– 1880s: Electricity harnessed for communications, power, light,
transportation
– 1890s: Large-Scale Power Plants (Niagara Falls)
– 1895: Marconi discovers radio transmission/wireless telegraphy
– 1905-1945: Long wave/short wave radio, television
– 1900s-1950s: Large-scale Systems Engineering (Power, Telecomms)
– 1940s-1950s: Invention of the Transistor & Digital Computer
– 1960s: Space program drives electrical component miniaturization
– 1970s: Invention of the Microprocessor/rise of microelectronics
– 1980s-1990s: PCs and data communications explosion
• Power Engineering --> Communications --> Systems
Engineering --> Microelectronics --> ???
Robert Lucky’s Inverted Pyramid
Information
Technology
Applications Software
Software
Middleware Software
Algorithms
Embedded Software
System Software
FPGA Design
VLSI Design
Circuit Design
Hardware
Device Design
Process
Design
Physics
Increasing Numbers
of Practitioners
Technology
And software jobs go begging ...
Agenda
•
•
•
•
The Information Age
Enrollment and Curriculum Challenges
Random Thoughts and Recommendations
Summary and Conclusions
Undergraduate Enrollment Trends
1400
1200
1000
Total
800
600
400
200
EECS/EE
CS Total
EECS/CS
L&S CS
0
88
89
90
91
92
93
94
95
96
The trend towards CS enrollment growth continues
97
A New Vision for EECS
“If we want everything to stay
as it is, it will be necessary for
everything to change.”
Giuseppe Tomasi Di Lampedusa (1896-1957)
Old View of EECS
EE
physics
circuits
signals
control
Physical
World
CS
algorithms
programming
comp systems
AI
Synthetic
World
New View of EECS
Intelligent Sys & Control
Communications Sys
Intelligent Displays
EECS
complex/electronics
systems
Signal Proc
Control
EE
Processing
Devices
MEMS
Optoelectronics
Circuits
AI
Software
Robotics/Vision
InfoPad
IRAM
components
CAD
Sim & Viz
Reconfigurable Systems
Computing Systems
Multimedia
User Interfaces
CS
algorithms
Programming
Databases
CS Theory
MechE
Sensors &
Control
Physical
Sciences/
Electronics
Materials
Science/
Electronic
Materials
Design
Sci
Info Mgmt
& Systems
EECS
BioSci/Eng
Biosensors &
BioInfo
Cognitive
Science
Computational
Sci & Eng
Observations
• Introduction to Electrical Engineering course is
really introduction to devices and circuits
• Freshman engineering students extensive
experience with computing; significantly less
experience with physical systems (e.g., ham radio)
• Insufficient motivation/examples in the early EE
courses; excessively mathematical and
quantitative
• These factors drive students into the CS track
Curriculum Redesign
• EECS 20: Signals and Systems
• Every EECS student will take:
– Introduction to Signals and Systems
– Introduction to Electronics
– Introduction to Computing (3 course sequence)
• Computing emerges as a tool as important as
mathematics and physics in the engineering
curriculum
– More freedom in selecting science and mathematics courses
– Biology becoming increasing important
EECS 20: Structure and Interpretation of Systems and Signals
• Course Format: 3 hrs lecture, 3 hrs lab per week
• Prerequisites: Basic Calculus
• Intro to mathematical modeling techniques used
in design of electronic systems. Apps to comm
systems, audio, video, and image processing
systems, comm networks, and robotics and control
systems. Modeling techniques introduced include
linear-time-invariant systems, elementary
nonlinear systems, discrete-event systems,
infinite state space models, and finite automata.
Analysis techniques introduced include frequency
domain, transfer functions, and automata theory.
Matlab-based lab is part of the course.
EE 40: Introduction to
Microelectronics Circuits
• Course Format: Three hours of lecture, three
hours of laboratory, and one hour of discussion
per week.
• Prerequisites: Calculus and Physics.
• Fundamental circuit concepts and analysis
techniques in the context of digital electronic
circuits. Transient analysis of CMOS logic
gates; basic integrated-circuit technology and
layout.
CS 61A: The Structure and
Interpretation of Computer Programs
• Course Format: 3 hrs lecture, 3 hrs discussion, 2.5 hrs
self-paced programming laboratory per week.
• Prerequisites: Basic calculus & some programming.
• Intro to programming and computer science. Exposes
students to techniques of abstraction at several levels:
(a) within a programming language, using higher-order
functions, manifest types, data-directed programming,
and message-passing; (b) between programming
languages, using functional and rule-based languages as
examples. It also relates these to practical problems of
implementation of languages and algorithms on a von
Neumann machine. Several significant programming
projects, programmed in a dialect of LISP.
CS 61B: Data Structures
• Course Format: 3 hrs lecture, 1 hr discussion, 2
hrs of programming lab, average of 6 hrs of selfscheduled programming lab per week.
• Prerequisites: Good performance in 61A or
equivalent class.
• Fundamental dynamic data structures, including
linear lists, queues, trees, and other linked
structures; arrays strings, and hash tables.
Storage management. Elementary principles of
software engineering. Abstract data types.
Algorithms for sorting and searching.
Introduction to the Java programming language.
CS 61C: Machine Structures
• Course Format: 2 hrs lecture, 1 hr discussion,
average of six hrs of self-scheduled programming
laboratory per week.
• Prerequisites: 61B.
• The internal organization and operation of digital
computers. Machine architecture, support for
high-level languages (logic, arithmetic, instruction
sequencing) and operating systems (I/O,
interrupts, memory management, process
switching). Elements of computer logic design.
Tradeoffs involved in fundamental architectural
design decisions.
Agenda
•
•
•
•
The Information Age
Enrollment and Curriculum Challenges
Random Thoughts and Recommendations
Summary and Conclusions
21st Century Challenge for
Computer Science
• Avoid the mistakes of academic Math departments
– Mathematics pursued as a “pure” and esoteric discipline for its
own sake (perhaps unlikely given industrial relevancy)
– Faculty size dictated by large freshman/sophomore program (i.e.,
Calculus teaching) with relatively few students at the
junior/senior level
– Other disciplines train and hire their own applied mathematicians
– Little coordination of curriculum or faculty hiring
• Computer Science MUST engage with other
departments using computing as a tool for their
discipline
– Coordinated curriculum and faculty hiring via cross-departmental
coordinating councils
21st Century Challenges for
Electrical Engineering
• Avoid the trap of Power Systems Engineering
– Student interest for EE physical areas likely to continue their
decline (at least in the USA), just when the challenges for new
technologies becoming most critical
» Beginning to see the limits of semiconductor technology?
» What follows Silicon CMOS? Quantum dots? Cryogenics?
Optical computation? Biological substrates? Synthesis of
electrical and mechanical devices beyond transistors
(MEMS/nanotechnology)
» Basic technology development, circuit design and production
methods
• Renewed emphasis on algorithmic and mathematical
EE: Signal Processing, Control, Communications
– More computing systems becoming application-specific
– E.g., entertainment, civilian infrastructure (air traffic control), …
21st Century Challenges for
EE and CS
• 21st Century to be “Century of Biotechnology”?
– Biomimetics: What can we learn about building complex systems
by mimicing/learning from biological systems?
» Hybrids are crucial in biological systems; Never depend on a
single group of software developers!
» Reliability is a new metric of system performance
– Human Genome Project
» Giant data mining application
» Genome as “machine language” to be reverse engineered
– Biological applications of MEMS technology: assay lab-on-a-chip,
molecular level drug delivery
– Biosensors: silicon nose, silicon ear, etc.
• What will be more important for 21st century
engineers to know: more physics or more biology?
Agenda
•
•
•
•
The Information Age
Enrollment and Curriculum Issues
Random Thoughts and Recommendations
Summary and Conclusions
Summary and Conclusions
• Fantastic time for the IT fields of EE and CS
– As we approach 2001, we are in the Information Age,
not the Space Age!
– BUT, strong shift in student interest from the physical
side of EE towards the algorithmic side of CS
• Challenge for CS
– Avoid mistakes of math as an academic discipline
– Coordinate with other fields as they add computing
expertise to their faculties
• Challenge for EE
– What will be the key information system implementation
technology of 21st century?
• Challenge for EE and CS
– How to participate in the Biotech revolution of the next century