240 likes | 386 Views
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
E N D
Next Century Challenges for Computer Science and Electrical Engineering Professor Randy H. KatzUnited 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 --> ???
Information Technology Software Applications Software Middleware Software Embedded Software Algorithms System Software Hardware FPGA Design VLSI Design Circuit Design Device Design Process Design Technology Physics Increasing Numbers of Practitioners Robert Lucky’s Inverted Pyramid And software jobs go begging ...
Agenda • The Information Age • Enrollment and Curriculum Challenges • Random Thoughts and Recommendations • Summary and Conclusions
The trend towards CS enrollment growth continues Undergraduate Enrollment Trends Total EECS/EE CS Total EECS/CS L&S CS
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 CS algorithms programming comp systems AI Physical World Synthetic World
New View of EECS EECS complex/electronics systems Intelligent Sys & Control Communications Sys Intelligent Displays Reconfigurable Systems Computing Systems Multimedia User Interfaces EE components CS algorithms Signal Proc Control AI Software Robotics/Vision InfoPad IRAM Programming Databases CS Theory Processing Devices MEMS Optoelectronics Circuits CAD Sim & Viz
Design Sci MechE Sensors & Control Info Mgmt & Systems EECS Physical Sciences/ Electronics Cognitive Science Materials Science/ Electronic Materials Computational Sci & Eng BioSci/Eng Biosensors & BioInfo
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 Interpre-tation 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 self-scheduled 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