Electrical Engineering and Computer Sciences

University of California, Berkeley

This is an archived copy of the 2014-15 guide. To access the most recent version of the guide, please visit http://guide.berkeley.edu/.

About the Program

Bachelor of Science (BS)

The Berkeley Electrical Engineering and Computer Sciences major (EECS), offered through the College of Engineering, combines fundamentals of computer science and electrical engineering in one major.

The EECS Department offers two undergraduate programs: Electrical and Computer Engineering (ECE), and Computer Science and Engineering (CSE). The ECE Program (Electrical Engineering) is best suited for students interested in focusing on Electrical Engineering upper division classes after completing the lower division requirements. The transcripts of ECE students indicate that their degree is from the Electrical and Computer Engineering program. There are no specific requirements for the ECE program beyond those of the EECS major. The CSE Program (Computer Science) is best suited for students interested in focusing on Computer Science upper division classes after completing the lower division requirements. The transcripts of students in CSE indicate that their degree is from the Computer Science and Engineering Program.

Note that there are two different major programs for Computer Science  at Berkeley. One major leads to the Bachelor of Arts (BA) degree from the College of Letters and Science, and the other, the CSE option within the EECS major, leads to the Bachelor of Science (BS). An essential difference between the two majors is that the EECS program requires a greater number of math and science courses than the CS program, which requires a greater number of non-technical, or breadth, courses. The computer science major under L&S is not accredited. For further information on the BA program, please see the Computer Science program page in this Bulletin

Accreditation

Both of the EECS programs are accredited by ABET through September 2015.

Honors Program

The Honors Degree Program is designed to provide very talented undergraduate students with more flexibility at the undergraduate level. Honors students select an academic concentration outside of EECS. In addition, students receive a special faculty adviser, engage in research, receive official notation of the honors degree on their Berkeley transcript, and are invited to special events with faculty and EECS Honors alumni.

For more information regarding this program, please click here.

Admission to the Major

Prospective undergraduates to the College of Engineering will apply for admission to a specific program in the College. For further information, please see the College of Engineering's website .

Admission to Engineering via a Change of College application for current UC Berkeley students is highly unlikely and very competitive as there few, if any, spaces that open in the College each year to students admitted to other colleges at UC Berkeley. For further information regarding a Change of College to Engineering, please see the College's website .

Five-Year BS/MS Program

The Five Year Bachelor/Master's Program, called the 5th Year MS Program for short, offers qualified EECS and L&S Computer Science undergraduate students a unique opportunity to begin graduate study during their undergraduate years, thereby accelerating the Master's degree by requiring only one additional year beyond the Bachelor's degree. This is not a concurrent degree program. Students earn their Bachelor's degree first and then the Master's. However, careful planning during the undergraduate program allows motivated students to begin a research project and complete some Master's course requirements while still in undergraduate standing. Depending on how quickly a student progresses through the undergraduate program, the additional graduate year may come sooner than the fifth year at Berkeley. The Five Year Program is not intended for those who wish to pursue a PhD. For further information regarding this program, please see the Department's website .

Minor Program

The EECS minor, offered through the College of Engineering, is an optional program for students interested in coherent EECS study outside of their major. It is open to any undergraduate who has declared a major other than EECS on the UC Berkeley campus; completed two of the four lower division course requirements; and has a GPA (in required lower-division courses) of no more than 0.2 points below the Letters & Science Computer Science Major GPA threshold for the semester in which they are applying. For further information regarding the prerequisites and other requirements, please see the Minor Requirements tab on this page.

The EECS Department also offers a minor in Computer Science. For information regarding this program, please see the Computer Science program page in this Bulletin .

Joint Majors

The EECS Department also offers two joint majors, with other departments in the College of Engineering. For further information on these programs, please click the links below:
Electrical Engineering and Computer Sciences/Materials Science and Engineering  (Department of Materials Science and Engineering)
Electrical Engineering and Computer Sciences/Nuclear Engineering  (Department of Nuclear Engineering)

Visit Department Website

Major Requirements

In addition to the University, campus, and college requirements, listed on the College Requirements tab, students must fulfill the below requirements specific to their major program.

General Guidelines

  1. All technical courses (courses in engineering, mathematics, chemistry, physics, statistics, biological sciences, and computer science) must be taken for a letter grade.

  2. No more than one upper-division course may be used to simultaneously fulfill requirements for a student’s major and minor programs.

  3. A minimum overall grade point average (GPA) of 2.0 is required for all work undertaken at UC Berkeley.

  4. A minimum GPA of 2.0 is required for all technical courses taken in satisfaction of major requirements.

For information regarding residence requirements and unit requirements, please see the College Requirements tab.

For a detailed plan of study by year and semester, please see the Plan of Study tab.

Summary of Major Requirements

For more detailed curriculum options for the EECS major, please see the EECS Undergraduate notes, available here .

Natural Sciences: Three courses
Mathematics: Five courses
EECS Lower-division Core: Five courses
Upper-division EECS Electives: 20 units minimum
Technical Engineering courses: 45 units minimum
Courses taken to satisfy the EECS Lower-division Core and EECS Upper-division Elective count toward this 45 units.
If courses in these two categories do not total at least 45 units, additional technical, letter-graded courses must be taken to fulfill this requirement
Free Electives:
Students may need to select up to 17 units of Free Electives, in order to meet the 120 units required for graduation. Free electives can be any technical or non-technical course of the student's interest, offered by any department at UC Berkeley, with no restrictions.Free electives can be any technical or non-technical course of the student's interest, offered by any department at UC Berkeley, with no restrictions.

Natural Sciences

PHYSICS 7APhysics for Scientists and Engineers4
PHYSICS 7BPhysics for Scientists and Engineers4
Select one course from the following:
Introduction to Astrophysics
Introduction to Astrophysics
General Biology Lecture
   and General Biology Laboratory
General Biology Lecture and Laboratory
CHEM 1A
  & 1AL
General Chemistry
   and General Chemistry Laboratory
General Chemistry
Chemical Structure and Reactivity
Chemical Structure and Reactivity
General Chemistry and Quantitative Analysis
General Chemistry and Quantitative Analysis
Introduction to Human Physiology
   and Introduction to Human Physiology Laboratory
Physics for Scientists and Engineers
Any upper-division letter graded course of 3 units or more in Astronomy, Biology, Chemistry, Earth and Planetary Science (other than 170AC or courses numbered 197-199), Integrative Biology, Molecular Cell Biology, Physics, or Plant & Microbial Biology

Mathematics

MATH 1ACalculus4
MATH 1BCalculus4
MATH 53Multivariable Calculus4
MATH 54Linear Algebra and Differential Equations4
COMPSCI 70Discrete Mathematics and Probability Theory4

EECS Lower-division Core

EL ENG 20Structure and Interpretation of Systems and Signals4
EL ENG 40Introduction to Microelectronic Circuits4
COMPSCI 61AThe Structure and Interpretation of Computer Programs4
COMPSCI 61BData Structures4
or COMPSCI 61BL Data Structures and Programming Methodology
COMPSCI 61CMachine Structures4
or COMPSCI 61CL Machine Structures (Lab-Centric)

Upper-division EECS Electives

Select a minimum of 2- units from the following:

At least one senior design course must be selected.

EL ENG C125Course Not Available4
EL ENG C128Feedback Control Systems4
EL ENG 130Integrated-Circuit Devices4
EL ENG 140Linear Integrated Circuits4
EL ENG 141Introduction to Digital Integrated Circuits4
EL ENG 143Microfabrication Technology4
EL ENG C149Introduction to Embedded Systems4
EL ENG 192Mechatronic Design Laboratory4
COMPSCI C149Introduction to Embedded Systems4
COMPSCI 150Components and Design Techniques for Digital Systems5
COMPSCI 160User Interface Design and Development4
COMPSCI 162Operating Systems and System Programming4
COMPSCI 164Programming Languages and Compilers4
COMPSCI 169Software Engineering4
COMPSCI 184Foundations of Computer Graphics4
COMPSCI 186Introduction to Database Systems4

Minor Requirements

Minor programs are areas of concentration requiring fewer courses than an undergraduate major. These programs are optional but can provide depth and breadth to a UC Berkeley education. The College of Engineering does not offer additional time to complete a minor, but it is usually possible to finish within the allotted time with careful course planning. Students are encouraged to meet with their ESS Adviser to discuss the feasibility of completing a minor program.

All the engineering departments offer minors. Students may also consider pursuing a minor in another school or college.

General Guidelines

  1. All courses taken to fulfill the minor requirements must be taken for graded credit.

  2. A minimum overall grade point average (GPA) of 3.0 and a minimum GPA of 3.0 in the prerequisite courses is required for acceptance into the minor program.

  3. A minimum grade point average (GPA) of 2.0 is required for courses used to fulfill the minor requirements.

  4. No more than one upper-division course may be used to simultaneously fulfill requirements for a student’s major and minor programs.

  5. Completion of the minor program cannot delay a student’s graduation.

Requirements

Lower-division
EL ENG 20Structure and Interpretation of Systems and Signals4
Select one from the following:
Introduction to Microelectronic Circuits
Physics for Scientists and Engineers
   and Introduction to Digital Electronics
Electronic Techniques for Engineering
Select one from the following:
The Structure and Interpretation of Computer Programs 2
Introduction to Computer Programming for Scientists and Engineers
Select one from the following:
Data Structures
Data Structures and Programming Methodology
Machine Structures
Machine Structures (Lab-Centric)
Upper-division
Select three upper-division EECS courses, for a total of 9 units minimum 1
1

 EL ENG 100 may not be used as one the three upper-division courses.

College Requirements

Students in the College of Engineering must complete 120 semester units with the following provisions: 

1.        Completion of the requirements of one Engineering major program  of study. 

2.        A minimum overall grade point average of 2.000 (C average) and a minimum 2.000 grade point average in upper division technical course work required of the major. 

3.        The final 30 units must be completed in residence in the College of Engineering on the Berkeley campus in two consecutive semesters. 

4.        All technical courses (math, science & engineering), required of the major or not, must be taken on a letter graded basis (unless they are only offered P/NP). 

5.        Entering freshman are allowed a maximum of eight semesters to complete their degree requirements.  Entering junior transfers are allowed a maximum of four semesters to complete their degree requirements. Summer terms are optional and do not count toward the maximum. Students are responsible for planning and satisfactorily completing all graduation requirements within the maximum allowable semesters. 

Humanities and Social Science Requirement
To promote a rich and varied educational experience outside of the technical requirements for each major, the College of Engineering has a Humanities and Social Sciences breadth requirement, which must be completed to graduate. This requirement is built into all the Engineering programs of study. The requirement includes two approved reading and composition courses and four additional approved courses, within which a number of specific conditions must be satisfied. 

1.        Complete a minimum of six courses (3 units or more) from the approved Humanities/Social Sciences (H/SS) lists

2.        Two of the six courses must fulfill the  Reading and Composition Requirement. These courses must be taken for a letter grade (C- or better required), and MUST be completed by no later than the end of the sophomore year (4th semester of enrollment). The first half of R&C, the “A” course, must be completed by the end of the freshman year; the second half of R&C, the “B “course, by no later than the end of the sophomore year. For detailed lists of courses that fulfill Reading and Composition requirements, please see the Reading and Composition page in this bulletin. 

3.        The four additional courses must be chosen from the H/SS comprehensive list. These courses may be taken on a Pass/Not Passed Basis (P/NP).

4.        At least two of the six courses must be upper division (courses numbered 100-196).

5.        At least two courses must be from the same department and at least one of the two must be upper division. This is called the *Series requirement. AP tests can be combined with a course to complete the series requirement. For example, AP History (any) combined with an upper division History course would satisfy the series requirement

6.        One of the six courses must satisfy the campus American Cultures Requirement. For detailed lists of courses that fulfill American Cultures requirements, please see the American Cultures page in this bulletin. 

7.        A maximum of two exams (Advanced Placement, International Baccalaureate, or A-Level) may be used toward completion of the H/SS requirement. Visit this link

8.        No courses offered by an Engineering department (IEOR, CE, etc.) other than BIOE 100, CS C79, ENGIN 125, ENGIN 130AC, 157AC, ME 191K and ME 191AC may be used to complete H/SS requirements.

9.        Courses may fulfill multiple categories. For example, if you complete City and Regional Planning 115 and 118AC that would satisfy the series requirement, the two upper division courses requirement and the American Cultures Requirement.

10.     The College of Engineering (COE) uses modified versions of five of the College of Letters and Science (L&S) breadth requirements lists to provide options to our students for completing the Humanities and Social Science requirement. Our requirement is different than that of L & S, so the guidelines posted on the top of each L & S breadth list do NOT apply to COE students.

11.     Foreign language courses MAY be used to complete H/SS requirements. L & S does not allow students to use many language courses, so their lists will not include all options open to Engineering students. For a list of language options, visit http://coe.berkeley.edu/FL

*NOTE: for the Series Requirement: The purpose of the series requirement is to provide depth of knowledge in a certain area. Therefore, a two-course sequence not in the same department may be approved by petition, in cases in which there is a clear and logical connection between the courses involved. 

Plan of Study

For more detailed information regarding the courses listed below (e.g., elective information, GPA requirements, etc.), please see the Major Requirements tab.

Freshman
FallUnitsSpringUnits
COMPSCI 61A4MATH 1B4
Natural Science course4PHYSICS 7A4
MATH 1A4COMPSCI 61B or 61BL4
Reading and Composition course from List A4Reading and Composition course from List B4
 16 16
Sophomore
FallUnitsSpringUnits
EL ENG 404COMPSCI 61C or 61CL4
MATH 534EL ENG 204
PHYSICS 7B4MATH 544
Humanities/Social Sciences course3-4Humanities/Social Sciences course3-4
 15-16 15-16
Junior
FallUnitsSpringUnits
COMPSCI 704EECS Upper-division Electives12
EECS Upper-division Electives8Humanities/Social Sciences course3-4
Ethics/Social Implications of Technology course3-4 
 15-16 15-16
Senior
FallUnitsSpringUnits
Upper-division Technical Electives6Free Electives14
Humanities/Social Sciences course3-4 
Free Electives3 
 12-13 14
Total Units: 118-123

Student Learning Goals

Mission

  1. Preparing graduates to pursue post-graduate education in electrical engineering, computer science, or related fields
  2. Preparing graduates for success in technical careers related to electrical and computer engineering, or computer science and engineering
  3. Preparing graduates to become leaders in fields related to electrical and computer engineering or computer science and engineering

Learning Goals for the Major

  1. An ability to apply knowledge of mathematics, science and engineering
  2. An ability to configure, apply test conditions, and evaluate outcomes of experimental systems
  3. An ability to design systems, components, or processes that conform to given specifications and cost constraints
  4. An ability to work cooperatively, respectfully, creatively, and responsibly as a member of a team
  5. An ability to identify, formulate, and solve engineering problems
  6. An understanding of the norms of expected behavior in engineering practice and their underlying ethical foundations
  7. An ability to communicate effectively by oral, written, and graphical means
  8. An awareness of global and societal concerns and their importance in developing engineering solutions
  9. An ability to independently acquire and apply required information, and an appreciation of the associated process of life-long learning
  10. A knowledge of contemporary issues
  11. An in-depth ability to use a combination of software, instrumentation, and experimental techniques practiced in circuits, physical electronics, communication, networks and systems, hardware, programming, and computer science theory

Courses

Select a subject to view courses

Computer Science

COMPSCI 3L Introduction to Symbolic Programming 4 Units

Introduction to computer programming, emphasizing symbolic computation and functional programming style. Students will write a project of at least 200 lines of code in Scheme (a dialect of the LISP programming language).

COMPSCI 3S Introduction to Symbolic Programming (Self-Paced) 1 - 4 Units

The same material as 3 but in a self-paced format; introduction to computer programming, emphasizing symbolic computation and functional programming style, using the Scheme programming language. Units assigned depend on amount of work completed. The first two units must be taken together.

COMPSCI 9A Matlab for Programmers 2 Units

Introduction to the constructs in the Matlab programming language, aimed at students who already know how to program. Array and matrix operations, functions and function handles, control flow, plotting and image manipulation, cell arrays and structures, and the Symbolic Mathematics toolbox.

COMPSCI 9C C for Programmers 2 Units

Self-paced course in the C programming language for students who already know how to program. Computation, input and output, flow of control, functions, arrays, and pointers, linked structures, use of dynamic storage, and implementation of abstract data types.

COMPSCI 9D Scheme and Functional Programming for Programmers 2 Units

Self-paced course in functional programming, using the Scheme programming language, for students who already know how to program. Recursion; higher-order functions; list processing; implementation of rule-based querying.

COMPSCI 9E Productive Use of the UNIX Environment 2 Units

Use of UNIX utilities and scripting facilities for customizing the programming environment, organizing files (possibly in more than one computer account), implementing a personal database, reformatting text, and searching for online resources.

COMPSCI 9F C++ for Programmers 2 Units

Self-paced introduction to the constructs provided in the C++ programming language for procedural and object-oriented programming, aimed at students who already know how to program.

COMPSCI 9G JAVA for Programmers 2 Units

Self-paced course in Java for students who already know how to program. Applets; variables and computation; events and flow of control; classes and objects; inheritance; GUI elements; applications; arrays, strings, files, and linked structures; exceptions; threads.

COMPSCI 9H Python for Programmers 2 Units

Introduction to the constructs provided in the Python programming language, aimed at students who already know how to program. Flow of control; strings, tuples, lists, and dictionaries; CGI programming; file input and output; object-oriented programming; GUI elements.

COMPSCI 10 The Beauty and Joy of Computing 4 Units

An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing. Beautiful applications that have changed the world. How computing empowers discovery and progress in other fields. Relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests.

COMPSCI W10 The Beauty and Joy of Computing 4 Units

This course meets the programming prerequisite for 61A. An introduction to the beauty and joy of computing. The history, social implications, great principles, and future of computing. Beautiful applications that have changed the world. How computing empowers discovery and progress in other fields. Relevance of computing to the student and society will be emphasized. Students will learn the joy of programming a computer using a friendly, graphical language, and will complete a substantial team programming project related to their interests.

COMPSCI 39J Freshman/Sophomore Seminar 1.5 - 4 Units

Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39K Freshman/Sophomore Seminar 1.5 - 4 Units

Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39M Freshman/Sophomore Seminar 1.5 - 4 Units

Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39N Freshman/Sophomore Seminar 1.5 - 4 Units

Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39P Freshman/Sophomore Seminar 1.5 - 4 Units

Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39Q Freshman/Sophomore Seminar 1.5 - 4 Units

Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 39R Freshman/Sophomore Seminar 1.5 - 4 Units

Freshman and sophomore seminars offer lower division students the opportunity to explore an intellectual topic with a faculty member and a group of peers in a small-seminar setting. These seminars are offered in all campus departments; topics vary from department to department and from semester to semester. Enrollment limits are set by the faculty, but the suggested limit is 25.

COMPSCI 47A Completion of Work in Computer Science 61A 1 Unit

Implementation of generic operations. Streams and iterators. Implementation techniques for supporting functional, object-oriented, and constraint-based programming in the Scheme programming language. Together with 9D, 47A constitutes an abbreviated, self-paced version of 61A for students who have already taken a course equivalent to 61B.

COMPSCI 47B Completion of Work in Computer Science 61B 1 Unit

Iterators. Hashing, applied to strings and multi-dimensional structures. Heaps. Storage management. Design and implementation of a program containing hundreds of lines of code. Students with sufficient partial credit in 61B may, with consent of instructor, complete the credit in this self-paced course.

COMPSCI 47C Completion of Work in Computer Science 61C 1 Unit

MIPS instruction set simulation. The assembly and linking process. Caches and virtual memory. Pipelined computer organization. Students with sufficient partial credit in 61C may, with consent of instructor, complete the credit in this self-paced course.

COMPSCI 61A The Structure and Interpretation of Computer Programs 4 Units

Introduction to programming and computer science. This course 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 techniques to the practical problems of implementation of languages and algorithms on a von Neumann machine. There are several significant programming projects.

COMPSCI 61AS The Structure and Interpretation of Computer Programs (Self-Paced) 1 - 4 Units

Introductory programming and computer science. Abstraction as means to control program complexity. Programming paradigms: functional, object-oriented, client/server, and declarative (logic). Control abstraction: recursion and higher order functions. Introduction to asymptotic analysis of algorithms. Data abstraction: abstract data types, type-tagged data, first class data types, sequences implemented as lists and as arrays, generic operators implemented with data-directed programming and with message passing. Implementation of object-oriented programming with closures over dispatch procedures. Introduction to interpreters and compilers. There are several significant programming projects. Course may be completed in one or two semesters. Students must complete a mimimum of two units during their first semester of 61AS.

COMPSCI 61B Data Structures 4 Units

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.

COMPSCI 61BL Data Structures and Programming Methodology 4 Units

The same material as in 61B, but in a laboratory-based format.

COMPSCI 61C Machine Structures 4 Units

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.

COMPSCI 61CL Machine Structures (Lab-Centric) 4 Units

The same material as in 61C but in a lab-centric format.

COMPSCI 70 Discrete Mathematics and Probability Theory 4 Units

Logic, infinity, and induction; applications include undecidability and stable marriage problem. Modular arithmetic and GCDs; applications include primality testing and cryptography. Polynomials; examples include error correcting codes and interpolation. Probability including sample spaces, independence, random variables, law of large numbers; examples include load balancing, existence arguments, Bayesian inference.

COMPSCI C79 Societal Risks and the Law 3 Units

Defining, perceiving, quantifying and measuring risk; identifying risks and estimating their importance; determining whether laws and regulations can protect us from these risks; examining how well existing laws work and how they could be improved; evaluting costs and benefits. Applications may vary by term. This course cannot be used to complete engineering unit or technical elective requirements for students in the College of Engineering.

COMPSCI 97 Field Study 1 - 4 Units

Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation.

COMPSCI 98 Directed Group Study 1 - 4 Units

Seminars for group study of selected topics, which will vary from year to year. Intended for students in the lower division.

COMPSCI 99 Individual Study and Research for Undergraduates 1 - 2 Units

A course for lower division students in good standing who wish to undertake a program of individual inquiry initiated jointly by the student and a professor. There are no other formal prerequisites, but the supervising professor must be convinced that the student is able to profit by the program.

COMPSCI 146L Programmable Digital Systems Laboratory 2 Units

Hardware description languages for digital system design and interactions with tool flows. Design, implementation, and verification of digital designs. Digital synthesis, partitioning, placement, routing, and simulation for Field-Programmable Gate Arrays. Large digital-system design concepts. Project design component – example, a full processor implementation with peripherals.

COMPSCI C149 Introduction to Embedded Systems 4 Units

This course introduces students to the basics of models, analysis tools, and control for embedded systems operating in real time. Students learn how to combine physical processes with computation. Topics include models of computation, control, analysis and verification, interfacing with the physical world, mapping to platforms, and distributed embedded systems. The course has a strong laboratory component, with emphasis on a semester-long sequence of projects.

COMPSCI 150 Components and Design Techniques for Digital Systems 5 Units

Basic building blocks and design methods to contruct synchronous digital systems, such as general purpose processors, hardware accelerators, and application specific processors. Representations and design methodologies for digital systems. Logic design using combinatorial and sequential circuits. Digital system implementation considering hardware descriptions languages, computer-aided design tools, field-programmable gate array architectures, and CMOS logic gates and state elements. Interfaces between peripherals, processor hardware, and software. Formal hardware laboratories and substantial design project.

COMPSCI 152 Computer Architecture and Engineering 4 Units

Instruction set architecture, microcoding, pipelining (simple and complex). Memory hierarchies and virtual memory. Processor parallelism: VLIW, vectors, multithreading. Multiprocessors.

COMPSCI 160 User Interface Design and Development 4 Units

The design, implementation, and evaluation of user interfaces. User-centered design and task analysis. Conceptual models and interface metaphors. Usability inspection and evaluation methods. Analysis of user study data. Input methods (keyboard, pointing, touch, tangible) and input models. Visual design principles. Interface prototyping and implementation methodologies and tools. Students will develop a user interface for a specific task and target user group in teams.

COMPSCI 161 Computer Security 4 Units

Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems.

COMPSCI 162 Operating Systems and System Programming 4 Units

Basic concepts of operating systems and system programming. Utility programs, subsystems, multiple-program systems. Processes, interprocess communication, and synchronization. Memory allocation, segmentation, paging. Loading and linking, libraries. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security, and privacy.

COMPSCI 164 Programming Languages and Compilers 4 Units

Survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling.

COMPSCI 168 Introduction to the Internet: Architecture and Protocols 4 Units

This course is an introduction to the Internet architecture. We will focus on the concepts and fundamental design principles that have contributed to the Internet's scalability and robustness and survey the various protocols and algorithms used within this architecture. Topics include layering, addressing, intradomain routing, interdomain routing, reliable delivery, congestion control, and the core protocols (e.g., TCP, UDP, IP, DNS, and HTTP) and network technologies (e.g., Ethernet, wireless).

COMPSCI 169 Software Engineering 4 Units

Ideas and techniques for designing, developing, and modifying large software systems. Function-oriented and object-oriented modular design techniques, designing for re-use and maintainability. Specification and documentation. Verification and validation. Cost and quality metrics and estimation. Project team organization and management. Students will work in teams on a substantial programming project.

COMPSCI 170 Efficient Algorithms and Intractable Problems 4 Units

Concept and basic techniques in the design and analysis of algorithms; models of computation; lower bounds; algorithms for optimum search trees, balanced trees and UNION-FIND algorithms; numerical and algebraic algorithms; combinatorial algorithms. Turing machines, how to count steps, deterministic and nondeterministic Turing machines, NP-completeness. Unsolvable and intractable problems.

COMPSCI 172 Computability and Complexity 4 Units

Finite automata, Turing machines and RAMs. Undecidable, exponential, and polynomial-time problems. Polynomial-time equivalence of all reasonable models of computation. Nondeterministic Turing machines. Theory of NP-completeness: Cook's theorem, NP-completeness of basic problems. Selected topics in language theory, complexity and randomness.

COMPSCI 174 Combinatorics and Discrete Probability 4 Units

Permutations, combinations, principle of inclusion and exclusion, generating functions, Ramsey theory. Expectation and variance, Chebychev's inequality, Chernov bounds. Birthday paradox, coupon collector's problem, Markov chains and entropy computations, universal hashing, random number generation, random graphs and probabilistic existence bounds.

COMPSCI 176 Algorithms for Computational Biology 4 Units

Algorithms and probabilistic models that arise in various computational biology applications: suffix trees, suffix arrays, pattern matching, repeat finding, sequence alignment, phylogenetics, genome rearrangements, hidden Markov models, gene finding, motif finding, stochastic context free grammars, RNA secondary structure. There are no biology prerequisites for this course, but a strong quantitative background will be essential.

COMPSCI 184 Foundations of Computer Graphics 4 Units

Techniques of modeling objects for the purpose of computer rendering: boundary representations, constructive solids geometry, hierarchical scene descriptions. Mathematical techniques for curve and surface representation. Basic elements of a computer graphics rendering pipeline; architecture of modern graphics display devices. Geometrical transformations such as rotation, scaling, translation, and their matrix representations. Homogeneous coordinates, projective and perspective transformations. Algorithms for clipping, hidden surface removal, rasterization, and anti-aliasing. Scan-line based and ray-based rendering algorithms. Lighting models for reflection, refraction, transparency.

COMPSCI 186 Introduction to Database Systems 4 Units

Access methods and file systems to facilitate data access. Hierarchical, network, relational, and object-oriented data models. Query languages for models. Embedding query languages in programming languages. Database services including protection, integrity control, and alternative views of data. High-level interfaces including application generators, browsers, and report writers. Introduction to transaction processing. Database system implementation to be done as term project.

COMPSCI 188 Introduction to Artificial Intelligence 4 Units

Ideas and techniques underlying the design of intelligent computer systems. Topics include search, game playing, knowledge representation, inference, planning, reasoning under uncertainty, machine learning, robotics, perception, and language understanding.

COMPSCI 189 Introduction to Machine Learning 4 Units

Theoretical foundations, algorithms, methodologies, and applications for machine learning. Topics may include supervised methods for regression and classication (linear models, trees, neural networks, ensemble methods, instance-based methods); generative and discriminative probabilistic models; Bayesian parametric learning; density estimation and clustering; Bayesian networks; time series models; dimensionality reduction; programming projects covering a variety of real-world applications.

COMPSCI C191 Quantum Information Science and Technology 3 Units

This multidisciplinary course provides an introduction to fundamental conceptual aspects of quantum mechanics from a computational and informational theoretic perspective, as well as physical implementations and technological applications of quantum information science. Basic sections of quantum algorithms, complexity, and cryptography, will be touched upon, as well as pertinent physical realizations from nanoscale science and engineering.

COMPSCI 194 Special Topics 1 - 4 Units

Topics will vary semester to semester. See the Computer Science Division announcements.

COMPSCI 195 Social Implications of Computer Technology 1 Unit

Topics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students will lead discussions on additional topics.

COMPSCI H195 Honors Social Implications of Computer Technology 3 Units

Topics include electronic community; the changing nature of work; technological risks; the information economy; intellectual property; privacy; artificial intelligence and the sense of self; pornography and censorship; professional ethics. Students may lead discussions on additional topics.

COMPSCI H196A Senior Honors Thesis Research 1 - 4 Units

Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science.

COMPSCI H196B Senior Honors Thesis Research 1 - 4 Units

Thesis work under the supervision of a faculty member. To obtain credit the student must, at the end of two semesters, submit a satisfactory thesis to the Electrical Engineering and Computer Science department archive. A total of four units must be taken. The units many be distributed between one or two semesters in any way. H196A-H196B count as graded technical elective units, but may not be used to satisfy the requirement for 27 upper division technical units in the College of Letters and Science with a major in Computer Science.

COMPSCI 197 Field Study 1 - 4 Units

Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation.

COMPSCI 198 Directed Group Studies for Advanced Undergraduates 1 - 4 Units

Group study of selected topics in Computer Sciences, usually relating to new developments.

COMPSCI 199 Supervised Independent Study 1 - 4 Units

Supervised independent study. Enrollment restrictions apply.

Electrical Engineering and Computer Science

EL ENG 16A Designing Information Devices and Systems I 4 Units

This course and its follow-on EE16B focus on the fundamentals of designing and building modern information devices and systems that interface with the real world. The course sequence provides a comprehensive introduction to core EECS topics in circuit design, signals, and systems in an application-driven context. The courses are delivered assuming mathematical maturity and aptitude at roughly the level of having completed MATH 1A-1B, and are aimed at entering students as well as non-majors seeking a broad introduction to the field.

EL ENG 16B Designing Information Devices and Systems II 4 Units

This course is a follow-on to Electrical Engineering 16A, and focuses on the fundamentals of designing and building modern information devices and systems that interface with the real world. The course sequence provides a comprehensive introduction to core EECS topics in circuit design, signals, and systems in an application-driven context. The courses are delivered assuming mathematical maturity and aptitude at roughly the level of having completed MATH 1A-1B, and are aimed at entering students as well as non-majors seeking a broad introduction to the field.

EL ENG 20 Structure and Interpretation of Systems and Signals 4 Units

Mathematical modeling of signals and systems. Continous and discrete signals, with applications to audio, images, video, communications, and control. State-based models, beginning with automata and evolving to LTI systems. Frequency domain models for signals and frequency response for systems, and sampling of continuous-time signals. A Matlab-based laboratory is an integral part of the course.

EL ENG 24 Freshman Seminar 1 Unit

The Freshman Seminar Program has been designed to provide new students with the opportunity to explore an intellectual topic with a faculty member in a small seminar setting. Freshman seminars are offered in all campus departments, and topics may vary from department to department and semester to semester.

EL ENG 25 What Electrical Engineers Do--Feedback from Recent Graduates 1 Unit

A Berkeley Electrical Engineering and Computer Sciences degree opens the door to many opportunities, but what exactly are they? Graduation is only a few years away and it's not too early to find out. In this seminar students will hear from practicing engineers who recently graduated. What are they working on? Are they working in a team? What do they wish they had learned better? How did they find their jobs?

EL ENG 40 Introduction to Microelectronic Circuits 4 Units

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.

EL ENG 42 Introduction to Digital Electronics 3 Units

This course serves as an introduction to the principles of electrical engineering, starting from the basic concepts of voltage and current and circuit elements of resistors, capacitors, and inductors. Circuit analysis is taught using Kirchhoff's voltage and current laws with Thevenin and Norton equivalents. Operational amplifiers with feedback are introduced as basic building blocks for amplication and filtering. Semiconductor devices including diodes and MOSFETS and their IV characteristics are covered. Applications of diodes for rectification, and design of MOSFETs in common source amplifiers are taught. Digital logic gates and design using CMOS as well as simple flip-flops are introduced. Speed and scaling issues for CMOS are considered. The course includes as motivating examples designs of high level applications including logic circuits, amplifiers, power supplies, and communication links.

EL ENG 43 Introductory Electronics Laboratory 1 Unit

Using and understanding electronics laboratory equipment such as oscilloscope, power supplies, function generator, multimeter, curve-tracer, and RLC-meter. Includes a term project of constructing and testing a robot or other appropriate electromechanical device.

EL ENG 97 Field Study 1 - 4 Units

Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation.

EL ENG 98 Directed Group Study for Undergraduates 1 - 4 Units

Group study of selected topics in electrical engineering, usually relating to new developments.

EL ENG 99 Individual Study and Research for Undergraduates 1 - 4 Units

Supervised independent study and research for students with fewer than 60 units completed.

EL ENG 100 Electronic Techniques for Engineering 4 Units

This course serves as an introduction to the principles of electrical engineering, starting from the basic concepts of voltage and current and circuit elements of resistors, capacitors, and inductors. Circuit analysis is taught using Kirchhoff's voltage and current laws with Thevenin and Norton equivalents. Operational amplifiers with feedback are introduced as basic building blocks for amplification and filtering. Semiconductor devices including diodes and MOSFETS and their IV characteristics are covered. Applications of diodes for rectification, and design of MOSFETs in common source amplifiers are taught. Digital logic gates and design using CMOS as well as simple flip-flops are introduced. Speed and scaling issues for CMOS are considered. The course includes as motivating examples designs of high level applications including logic circuits, amplifiers, power supplies, and communication links.

EL ENG 105 Microelectronic Devices and Circuits 4 Units

This course covers the fundamental circuit and device concepts needed to understand analog integrated circuits. After an overview of the basic properties of semiconductors, the p-n junction and MOS capacitors are described and the MOSFET is modeled as a large-signal device. Two port small-signal amplifiers and their realization using single stage and multistage CMOS building blocks are discussed. Sinusoidal steady-state signals are introduced and the techniques of phasor analysis are developed, including impedance and the magnitude and phase response of linear circuits. The frequency responses of single and multi-stage amplifiers are analyzed. Differential amplifiers are introduced.

EL ENG C106A Introduction to Robotics 4 Units

An introduction to the kinematics, dynamics, and control of robot manipulators, robotic vision, and sensing. The course covers forward and inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, and control. It presents elementary principles on proximity, tactile, and force sensing, vision sensors, camera calibration, stereo construction, and motion detection. The course concludes with current applications of robotics in active perception, medical robotics, and other areas.

EL ENG C106B Robotic Manipulation and Interaction 4 Units

This course is a sequel to Electrical Engineering C106A/Bioengineering C125, which covers kinematics, dynamics and control of a single robot. This course will cover dynamics and control of groups of robotic manipulators coordinating with each other and interacting with the environment. Concepts will include an introduction to grasping and the constrained manipulation, contacts and force control for interaction with the environment. We will also cover active perception guided manipulation, as well as the manipulation of non-rigid objects. Throughout, we will emphasize design and human-robot interactions, and applications to applications in manufacturing, service robotics, tele-surgery, and locomotion.

EL ENG 113 Power Electronics 4 Units

Power conversion circuits and techniques. Characterization and design of magnetic devices including transformers, reactors, and electromagnetic machinery. Characteristics of bipolar and MOS power semiconductor devices. Applications to motor control, switching power supplies, lighting, power systems, and other areas as appropriate.

EL ENG 117 Electromagnetic Fields and Waves 4 Units

Review of static electric and magnetic fields and applications; Maxwell's equations; transmission lines; propagation and reflection of plane waves; introduction to guided waves, microwave networks, and radiation and antennas. Minilabs on statics, transmission lines, and waves.

EL ENG 118 Introduction to Optical Engineering 3 Units

Fundamental principles of optical systems. Geometrical optics and aberration theory. Stops and apertures, prisms, and mirrors. Diffraction and interference. Optical materials and coatings. Radiometry and photometry. Basic optical devices and the human eye. The design of optical systems. Lasers, fiber optics, and holography.

EL ENG 120 Signals and Systems 4 Units

Continuous and discrete-time transform analysis techniques with illustrative applications. Linear and time-invariant systems, transfer functions. Fourier series, Fourier transform, Laplace and Z-transforms. Sampling and reconstruction. Solution of differential and difference equations using transforms. Frequency response, Bode plots, stability analysis. Illustrated by analysis of communication systems and feedback control systems.

EL ENG 121 Introduction to Digital Communication Systems 4 Units

Introduction to the basic principles of the design and analysis of modern digital communication systems. Topics include source coding, channel coding, baseband and passband modulation techniques, receiver design, and channel equalization. Applications to design of digital telephone modems, compact disks, and digital wireless communication systems. Concepts illustrated by a sequence of MATLAB exercises.

EL ENG 122 Introduction to Communication Networks 4 Units

This course focuses on the fundamentals of the wired and wireless communication networks. The course covers both the architectural principles for making these networks scalable and robust, as well as the key techniques essential for analyzing and designing them. The topics include graph theory, Markov chains, queuing, optimization techniques, the physical and link layers, switching, transport, cellular networks and Wi-Fi.

EL ENG 123 Digital Signal Processing 4 Units

Discrete time signals and systems: Fourier and Z transforms, DFT, 2-dimensional versions. Digital signal processing topics: flow graphs, realizations, FFT, chirp-Z algorithms, Hilbert transform relations, quantization effects, linear prediction. Digital filter design methods: windowing, frequency sampling, S-to-Z methods, frequency-transformation methods, optimization methods, 2-dimensional filter design.

EL ENG 126 Probability and Random Processes 4 Units

This course covers the fundamentals of probability and random processes useful in fields such as networks, communication, signal processing, and control. Sample space, events, probability law. Conditional probability. Independence. Random variables. Distribution, density functions. Random vectors. Law of large numbers. Central limit theorem. Estimation and detection. Markov chains.

EL ENG 127 Optimization Models in Engineering 4 Units

This course offers an introduction to optimization models and their applications, ranging from machine learning and statistics to decision-making and control, with emphasis on numerically tractable problems, such as linear or constrained least-squares optimization.

EL ENG C128 Feedback Control Systems 4 Units

Analysis and synthesis of linear feedback control systems in transform and time domains. Control system design by root locus, frequency response, and state space methods. Applications to electro-mechanical and mechatronics systems.

EL ENG 129 Neural and Nonlinear Information Processing 3 Units

Principles of massively parallel real-time computation, optimization, and information processing via nonlinear dynamics and analog VLSI neural networks, applications selected from image processing, pattern recognition, feature extraction, motion detection, data compression, secure communication, bionic eye, auto waves, and Turing patterns.

EL ENG 130 Integrated-Circuit Devices 4 Units

Overview of electronic properties of semiconductor. Metal-semiconductor contacts, pn junctions, bipolar transistors, and MOS field-effect transistors. Properties that are significant to device operation for integrated circuits. Silicon device fabrication technology.

EL ENG 134 Fundamentals of Photovoltaic Devices 4 Units

This course is designed to give an introduction to, and overview of, the fundamentals of photovoltaic devices. Students will learn how solar cells work, understand the concepts and models of solar cell device physics, and formulate and solve relevant physical problems related to photovoltaic devices. Monocrystalline, thin film and third generation solar cells will be discussed and analyzed. Light management and economic considerations in a solar cell system will also be covered.

EL ENG 137A Introduction to Electric Power Systems 4 Units

Overview of conventional electric power conversion and delivery, emphasizing a systemic understanding of the electric grid with primary focus at the transmission level, aimed toward recognizing needs and opportunities for technological innovation. Topics include aspects of a.c. system design, electric generators, components of transmission and distribution systems, power flow analysis, system planning and operation, performance measures, and limitations of legacy technologies.

EL ENG 137B Introduction to Electric Power Systems 4 Units

Overview of recent and potential future evolution of electric power systems with focus on new and emerging technologies for power conversion and delivery, primarily at the distribution level. Topics include power electronics applications, solar and wind generation, distribution system design and operation, electric energy storage, information management and communications, demand response, and microgrids.

EL ENG 140 Linear Integrated Circuits 4 Units

Single and multiple stage transistor amplifiers. Operational amplifiers. Feedback amplifiers, 2-port formulation, source, load, and feedback network loading. Frequency response of cascaded amplifiers, gain-bandwidth exchange, compensation, dominant pole techniques, root locus. Supply and temperature independent biasing and references. Selected applications of analog circuits such as analog-to-digital converters, switched capacitor filters, and comparators. Hardware laboratory and design project.

EL ENG 141 Introduction to Digital Integrated Circuits 4 Units

CMOS devices and deep sub-micron manufacturing technology. CMOS inverters and complex gates. Modeling of interconnect wires. Optimization of designs with respect to a number of metrics: cost, reliability, performance, and power dissipation. Sequential circuits, timing considerations, and clocking approaches. Design of large system blocks, including arithmetic, interconnect, memories, and programmable logic arrays. Introduction to design methodologies, including hands-on experience.

EL ENG 142 Integrated Circuits for Communications 4 Units

Analysis and design of electronic circuits for communication systems, with an emphasis on integrated circuits for wireless communication systems. Analysis of noise and distortion in amplifiers with application to radio receiver design. Power amplifier design with application to wireless radio transmitters. Radio-frequency mixers, oscillators, phase-locked loops, modulators, and demodulators.

EL ENG 143 Microfabrication Technology 4 Units

Integrated circuit device fabrication and surface micromachining technology. Thermal oxidation, ion implantation, impurity diffusion, film deposition, expitaxy, lithography, etching, contacts and interconnections, and process integration issues. Device design and mask layout, relation between physical structure and electrical/mechanical performance. MOS transistors and poly-Si surface microstructures will be fabricated in the laboratory and evaluated.

EL ENG 144 Fundamental Algorithms for Systems Modeling, Analysis, and Optimization 4 Units

The modeling, analysis, and optimization of complex systems requires a range of algorithms and design software. This course reviews the fundamental techniques underlying the design methodology for complex systems, using integrated circuit design as example. Topics include design flows, discrete and continuous models and algorithms, and strategies for implementing algorithms efficiently and correctly in software. Laboratory assignments and a class project will expose students to state-of-the-art tools.

EL ENG C145B Medical Imaging Signals and Systems 4 Units

Biomedical imaging is a clinically important application of engineering, applied mathematics, physics, and medicine. In this course, we apply linear systems theory and basic physics to analyze X-ray imaging, computerized tomography, nuclear medicine, and MRI. We cover the basic physics and instrumentation that characterizes medical image as an ideal perfect-resolution image blurred by an impulse response. This material could prepare the student for a career in designing new medical imaging systems that reliably detect small tumors or infarcts.

EL ENG C145L Introductory Electronic Transducers Laboratory 3 Units

Laboratory exercises exploring a variety of electronic transducers for measuring physical quantities such as temperature, force, displacement, sound, light, ionic potential; the use of circuits for low-level differential amplification and analog signal processing; and the use of microcomputers for digital sampling and display. Lectures cover principles explored in the laboratory exercises; construction, response and signal to noise of electronic transducers and actuators; and design of circuits for sensing and controlling physical quantities.

EL ENG C145M Introductory Microcomputer Interfacing Laboratory 3 Units

Laboratory exercises constructing basic interfacing circuits and writing 20-100 line C programs for data acquisition, storage, analysis, display, and control. Use of the IBM PC with microprogrammable digital counter/timer, parallel I/O port. Circuit components include anti-aliasing filters, the S/H amplifier, A/D and D/A converters. Exercises include effects of aliasing in periodic sampling, fast Fourier transforms of basic waveforms, the use of the Hanning filter for leakage reduction, Fourier analysis of the human voice, digital filters, and control using Fourier deconvolution. Lectures cover principles explored in the lab exercises and design of microcomputer-based systems for data acquisitions, analysis and control.

EL ENG C145O Laboratory in the Mechanics of Organisms 3 Units

Introduction to laboratory and field study of the biomechanics of animals and plants using fundamental biomechanical techniques and equipment. Course has a series of rotations involving students in experiments demonstrating how solid and fluid mechanics can be used to discover the way in which diverse organisms move and interact with their physical environment. The laboratories emphasize sampling methodology, experimental design, and statistical interpretation of results. Latter third of course devoted to independent research projects. Written reports and class presentation of project results are required.

EL ENG 146L Application Specific Integrated Circuits Laboratory 2 Units

This is a lab course that covers the design of modern Application-Specific Integrated Circuits (ASICs). The labs lay the foundation of modern digital design by first setting-up the scripting and hardware description language base for specification of digital systems and interactions with tool flows. Software testing of digital designs is covered leading into a set of labs that cover the design flow. Digital synthesis, floorplanning, placement and routing are covered, as well as tools to evaluate design timing and power. Chip-level assembly is covered, instantiation of custom IP blocks: I/O pads, memories, PLLs, etc. The labs culminate with a project design – implementation of a 3-stage RISC-V processor with register file and caches.

EL ENG 147 Introduction to Microelectromechanical Systems (MEMS) 3 Units

This course will teach fundamentals of micromachining and microfabrication techniques, including planar thin-film process technologies, photolithographic techniques, deposition and etching techniques, and the other technologies that are central to MEMS fabrication. It will pay special attention to teaching of fundamentals necessary for the design and analysis of devices and systems in mechanical, electrical, fluidic, and thermal energy/signal domains, and will teach basic techniques for multi-domain analysis. Fundamentals of sensing and transduction mechanisms including capacitive and piezoresistive techniques, and design and analysis of micmicromachined miniature sensors and actuators using these techniques will be covered.

EL ENG C149 Introduction to Embedded Systems 4 Units

This course introduces students to the basics of models, analysis tools, and control for embedded systems operating in real time. Students learn how to combine physical processes with computation. Topics include models of computation, control, analysis and verification, interfacing with the physical world, mapping to platforms, and distributed embedded systems. The course has a strong laboratory component, with emphasis on a semester-long sequence of projects.

EL ENG 192 Mechatronic Design Laboratory 4 Units

Design project course, focusing on application of theoretical principles in electrical engineering to control of a small-scale system, such as a mobile robot. Small teams of students will design and construct a mechatronic system incorporating sensors, actuators, and intelligence.

EL ENG 194 Special Topics 1 - 4 Units

Topics will vary semester to semester. See the Electrical Engineering announcements.

EL ENG H196A Senior Honors Thesis Research 1 - 4 Units

Thesis work under the supervision of a faculty member. A minimum of four units must be taken; the units may be distributed between one and two semesters in any way. To obtain credit a satisfactory thesis must be submitted at the end of the two semesters to the Electrical and Engineering and Computer Science Department archive. Students who complete four units and a thesis in one semester receive a letter grade at the end of H196A. Students who do not, receive an IP in H196A and must enroll in H196B.

EL ENG H196B Senior Honors Thesis Research 1 - 4 Units

Thesis work under the supervision of a faculty member. A minimum of four units must be taken; the units may be distributed between one and two semesters in any way. To obtain credit a satisfactory thesis must be submitted at the end of the two semesters to the Electrical and Engineering and Computer Science Department archive. Students who complete four units and a thesis in one semester receive a letter grade at the end of H196A. Students who do not, receive an IP in H196A and must enroll in H196B.

EL ENG 197 Field Study 1 - 4 Units

Students take part in organized individual field sponsored programs with off-campus companies or tutoring/mentoring relevant to specific aspects and applications of computer science on or off campus. Note Summer CPT or OPT students: written report required. Course does not count toward major requirements, but will be counted in the cumulative units toward graduation.

EL ENG 198 Directed Group Study for Advanced Undergraduates 1 - 4 Units

Group study of selected topics in electrical engineering, usually relating to new developments.

EL ENG 199 Supervised Independent Study 1 - 4 Units

Supervised independent study. Enrollment restrictions apply.

Contact Information

Department of Electrical Engineering and Computer Sciences

253 Cory Hall

Phone: 510-642-3214

Fax: 510-643-7846

Visit Department Website

Main Office

Computer Science

387 Soda Hall

Phone: 510-642-1042

Fax: 510-642-5775

Department Chair

Tsu-Jae King Liu, PhD

225 Cory Hall

Phone: 510-643-9251

tking@eecs.berkeley.edu

Vice-Chair, Undergraduate Matters

Daniel Klein, PhD

728 Sutardja Dai Hall

Phone: 510-643-0805

klein@cs.berkeley.edu

Associate Director, Undergraduate Matters

Sarah Van Nostrand

203 Cory Hall

Phone: 510-664-7181

svannostrand@berkeley.edu

Student Affairs Director

Susanne Kauer

221 Cory Hall

Phone: 510-642-3694

skauer@eecs.berkeley.edu

Undergraduate Programs Coordinator

Dahlia Case

205 Cory Hall

Phone: 510-642-7372

dahliacase@berkeley.edu

Associate Director for Diversity and Achievement

Tiffany Reardon

203 Cory Hall

Phone: 510-642-2357

treardon@eecs.berkeley.edu

Student Services

College of Engineering

230 Bechtel Engineering Center

Phone: 510-643-7594

Fax: 510-643-8653

ess@ce.berkeley.edu

Undergraduate Adviser, last names A-J

Bryan Jones

bkjones@berkeley.edu

Undergraduate Adviser, last names K-N

Sharon Mueller

smueller@berkeley.edu

Undergraduate Adviser, last names O-Z

Olivia Chanm

oychan@berkeley.edu

Student Services Adviser/EE Scheduler

Sara Nevius

205 Cory Hall

Phone: 510-642-1786

saranevius@eecs.berkeley.edu

Back to Top