Courses
EECS 47D Completion of work in Electrical Engineering 16A 1 - 3 Units
Terms offered: Prior to 2007
This course allows students who have had a linear algebra and/or basic circuit theory course to complete the work in EE16A and be ready for EE16B or EE47E. The course focuses on the fundamentals of designing modern information devices and systems that interface with the real world and provides a comprehensive foundation for core EECS topics in signal processing, learning, control, and circuit design. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper/pencil exercises.
Completion of work in Electrical Engineering 16A: Read More [+]
Rules & Requirements
Prerequisites: Math 1A, Math 1B or equivalent, CS 61A or equivalent (encouraged to be taken concurrently), College level courses in linear algebra and/or circuit theory, and consent of the instructor
Hours & Format
Fall and/or spring: 15 weeks - 2-8 hours of self-paced per week
Summer: 8 weeks - 4-13 hours of self-paced per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Alon, Arcak, Ayazifar, Maharbiz, Niknejad, Ranade, Sahai, Subramanian, Tomlin
Completion of work in Electrical Engineering 16A: Read Less [-]
EECS 47E Completion of work in Electrical Engineering 16B 1 - 3 Units
Terms offered: Prior to 2007
This course allows students who have had a linear algebra and/or basic circuit theory course to complete the work in EE16B. The course focuses on the fundamentals of designing modern information devices and systems that interface with the real world and provides a comprehensive foundation for core EECS topics in signal processing (DFT), learning (SVD/PCA), feedback control, and circuit design. Modeling is emphasized in a way that deepens mathematical maturity, and in both labs and homework, students will engage computationally, physically, and visually with the concepts being introduced in addition to traditional paper/pencil exercises.
Completion of work in Electrical Engineering 16B: Read More [+]
Rules & Requirements
Prerequisites: Math 1A, Math 1B or equivalent, EE16A or EECS 47D or Math 54, CS 61A or equivalent, College level courses in linear algebra and/or circuit theory, and consent of the instructor
Hours & Format
Fall and/or spring: 15 weeks - 3-8 hours of self-paced per week
Summer: 8 weeks - 6-16 hours of self-paced per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Alon, Arcak, Ayazifar, Maharbiz, Niknejad, Ranade, Sahai, Subramanian, Tomlin
Completion of work in Electrical Engineering 16B: Read Less [-]
EECS 47F Completion of work in Computer Science 70 1 - 3 Units
Terms offered: Prior to 2007
This course allows students who have had a discrete math and/or probability course to complete the work in CS70. 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.
Completion of work in Computer Science 70: Read More [+]
Rules & Requirements
Prerequisites: Sophomore mathematical maturity, programming experience equivalent to that gained in 61A, a prior college level course on discrete math and/or probability, and consent of the instructor
Hours & Format
Fall and/or spring: 15 weeks - 3-8 hours of self-paced per week
Summer: 8 weeks - 6-16 hours of self-paced per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam not required.
Instructors: Ranade, Rao, Sahai, Seshia, Vazirani, Walrand
EECS C106A Introduction to Robotics 4 Units
Terms offered: Fall 2018, Fall 2017
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.
Introduction to Robotics: Read More [+]
Rules & Requirements
Prerequisites: Electrical Engineering 120 or equivalent, consent of instructor
Credit Restrictions: Students will receive no credit for Electrical Engineering and Computer Science C106A/Bioengineering C106A after completing EE C106A/BioE C125, Electrical Engineering 206A, or Electrical Engineering and Computer Science 206A.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Alternative to final exam.
Instructor: Bajcsy
Also listed as: BIO ENG C106A
EECS C106B Robotic Manipulation and Interaction 4 Units
Terms offered: Spring 2018
This course is a sequel to EECS C106A/Bioengineering C106A, 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.
Robotic Manipulation and Interaction: Read More [+]
Rules & Requirements
Prerequisites: Electrical Engineering and Computer Science C106A/Bioengineering C106A or consent of the instructor
Credit Restrictions: Students will receive no credit for Electrical Engineering and Computer Science C106B/Bioengineering C106B after completing Electrical Engineering C106B/Bioengineering C125B, Electrical Engineering 206B, or Electrical Engineering and Computer Science 206B.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Alternative to final exam.
Instructors: Bajcsy, Sastry
Also listed as: BIO ENG C106B
EECS 126 Probability and Random Processes 4 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
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.
Probability and Random Processes: Read More [+]
Rules & Requirements
Prerequisites: CS 70 preferred but not required. Familiarity with linear algebra
Credit Restrictions: Students will receive no credit for EECS 126 after completing EE 126.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructor: Ramchandran
EECS 127 Optimization Models in Engineering 4 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
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.
Optimization Models in Engineering: Read More [+]
Rules & Requirements
Prerequisites: EE 16A & 16B or consent of instructor
Credit Restrictions: Students will receive no credit for EECS 127 after taking EECS 227AT or Electrical Engineering 127/227AT.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructor: El Ghaoui
Formerly known as: Electrical Engineering 127
EECS 149 Introduction to Embedded Systems 4 Units
Terms offered: Fall 2018, Fall 2017, Fall 2016
This course introduces students to the basics of modeling, analysis, and design of embedded, cyber-physical systems. Students learn how to integrate computation with physical processes to meet a desired specification. Topics include models of computation, control, analysis and verification, interfacing with the physical world, real-time behaviors, mapping to platforms, and distributed embedded systems. The course has a strong laboratory component, with emphasis on a semester-long sequence of projects.
Introduction to Embedded Systems: Read More [+]
Objectives Outcomes
Course Objectives: To develop the skills to realize embedded systems that are safe, reliable, and efficient in their use of resources.
To learn how to model and design the joint dynamics of software, networks, and physical processes.
To learn to think critically about technologies that are available for achieving such joint dynamics.
Rules & Requirements
Prerequisites: EE 16A & B, or permission of instructor; CS 61C and CS 70
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture and 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Alternative to final exam.
Instructors: Seshia, Lee
EECS 151 Introduction to Digital Design and Integrated Circuits 3 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
An introduction to digital and system design. The material provides a top-down view of the principles, components, and methodologies for large scale digital system design. The underlying CMOS devices and manufacturing technologies are introduced, but quickly abstracted to higher-levels to focus the class on design of larger digital modules for both FPGAs (field programmable gate arrays) and ASICs (application specific integrated circuits). The class includes extensive use of industrial grade design automation and verification tools for assignments, labs and projects.
The class has two lab options: ASIC Lab (EECS 151LA) and FPGA Lab (EECS 151LB). Students must enroll in at least one of the labs concurrently with the class.
Introduction to Digital Design and Integrated Circuits: Read More [+]
Objectives Outcomes
Course Objectives: The Verilog hardware description language is introduced and used. Basic digital system design concepts, Boolean operations/combinational logic, sequential elements and finite-state-machines, are described. Design of larger building blocks such as arithmetic units, interconnection networks, input/output units, as well as memory design (SRAM, Caches, FIFOs) and integration are also covered. Parallelism, pipelining and other micro-architectural optimizations are introduced. A number of physical design issues visible at the architecture level are covered as well, such as interconnects, power, and reliability.
Rules & Requirements
Prerequisites: Electrical Engineering 16A & 16B
Credit Restrictions: Students must enroll concurrently in at least one the lab flavors EECS151LA or EECS151LB. Students wishing to take a second lab flavor next term can sign-up only for that Lab section and receive a Letter grade. The pre-requisite for “Lab-only” enrollment that term will be EECS151 from previous terms.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Stojanovic, Wawrzynek
Introduction to Digital Design and Integrated Circuits: Read Less [-]
EECS 151LA Application Specific Integrated Circuits Laboratory 2 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
This lab lays the foundation of modern digital design by first presenting the scripting and hardware description language base for specification of digital systems and interactions with tool flows. The labs are centered on a large design with the focus on rapid design space exploration. The lab exercises culminate with a project design, e.g., implementation of a three-stage RISC-V processor with a register file and caches. The design is mapped to simulation and layout specification.
Application Specific Integrated Circuits Laboratory: Read More [+]
Objectives Outcomes
Course Objectives: Software testing of digital designs is covered leading to a set of exercises that cover the design flow. Digital synthesis, floor-planning, placement and routing are covered, as well as tools to evaluate timing and power consumption. Chip-level assembly is covered, including instantiation of custom blocks: I/O pads, memories, PLLs, etc.
Rules & Requirements
Prerequisites: Computer Science 61C, Electrical Engineering 16A & 16B, Electrical Engineering 105
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam not required.
Instructors: Stojanovic, Wawrzynek
Application Specific Integrated Circuits Laboratory: Read Less [-]
EECS 151LB Field-Programmable Gate Array Laboratory 2 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
This lab covers the design of modern digital systems with Field-Programmable Gate Array (FPGA) platforms. A series of lab exercises provide the background and practice of digital design using a modern FPGA design tool flow. Digital synthesis, partitioning, placement, routing, and simulation tools for FPGAs are covered in detail. The labs exercises culminate with a large design project, e.g., an implementation of a full three-stage RISC-V processor system, with caches, graphics acceleration, and external peripheral components. The design is mapped and demonstrated on an FPGA hardware platform.
Field-Programmable Gate Array Laboratory: Read More [+]
Rules & Requirements
Prerequisites: Electrical Engineering 16A & 16B; Electrical Engineering 105 recommended and Computer Science 61C
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam not required.
Instructors: Stojanovic, Wawrzynek
EECS 206A Introduction to Robotics 4 Units
Terms offered: Fall 2018, Fall 2017
An introduction to the kinematics, dynamics, and control of robot manipulators, robotic vision, and sensing. The course will cover forward and inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics and control-position, and force control. Proximity, tactile, and force sensing. Network modeling, stability, and fidelity in teleoperation and medical applications of robotics.
Introduction to Robotics: Read More [+]
Rules & Requirements
Prerequisites: EE 120 or equivalent, or consent of instructor
Credit Restrictions: Students will receive no credit for EECS 206A after taking EE C125/Bioengineering C125, EE C106A, or EECS C106A.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructor: Bajcsy
EECS 206B Robotic Manipulation and Interaction 4 Units
Terms offered: Spring 2018
This course is a sequel to EECS C106A/206A, 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.
Robotic Manipulation and Interaction: Read More [+]
Rules & Requirements
Prerequisites: EECS C106A/Bioengineering C106A, EECS 206A or consent of the<BR/>instructor
Credit Restrictions: Students will receive no credit for EECS 206B after taking EE C106B/Bioengineering C125B, EECS C106B/BioEngineering C106B, or EE 206B.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructors: Bajcsy, Sastry
EECS 219C Formal Methods: Specification, Verification, and Synthesis 3 Units
Terms offered: Spring 2018
Introduction to the theory and practice of formal methods for the design and analysis of systems, with a focus on algorithmic techniques. Covers selected topics in computational logic and automata theory including modeling and specification formalisms, temporal logics, satisfiability solving, model checking, synthesis, learning, and theorem proving. Applications to software and hardware design, cyber-physical systems, robotics, computer security, and other areas will be explored as time permits.
Formal Methods: Specification, Verification, and Synthesis: Read More [+]
Rules & Requirements
Prerequisites: Graduate standing or Consent of instructor; Computer Science 170 or equivalent is recommended
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructor: Seshia
Formerly known as: Electrical Engineering 219C
Formal Methods: Specification, Verification, and Synthesis: Read Less [-]
EECS 227AT Optimization Models in Engineering 4 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
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.
Optimization Models in Engineering: Read More [+]
Rules & Requirements
Prerequisites: Mathematics 54 or equivalent or consent of instructor
Credit Restrictions: Students will receive no credit for EECS 227AT after taking EECS 127 or Electrical Engineering 127/227AT.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructor: El Ghaoui
Formerly known as: Electrical Engineering 227AT
EECS 251A Introduction to Digital Design and Integrated Circuits 3 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
An introduction to digital circuit and system design. The material provides a top-down view of the principles, components, and methodologies for large scale digital system design. The underlying CMOS devices and manufacturing technologies are introduced, but quickly abstracted to higher levels to focus the class on design of larger digital modules for both FPGAs (field programmable gate arrays) and ASICs (application specific integrated circuits). The class includes extensive use of industrial grade design automation and verification tools for assignments, labs, and projects.
Introduction to Digital Design and Integrated Circuits: Read More [+]
Objectives Outcomes
Course Objectives: The Verilog hardware description language is introduced and used. Basic digital system design concepts, Boolean operations/combinational logic, sequential elements and finite-state-machines, are described. Design of larger building blocks such as arithmetic units, interconnection networks, input/output units, as well as memory design (SRAM, Caches, FIFOs) and integration are also covered. Parallelism, pipelining and other micro-architectural optimizations are introduced. A number of physical design issues visible at the architecture level are covered as well, such as interconnects, power, and reliability.
Student Learning Outcomes: Although the syllabus is the same as EECS151, the assignments and exams for EECS251A will have harder problems that test deeper understanding expected from a graduate level course.
Rules & Requirements
Prerequisites: Electrical Engineering 16A & 16B; Computer Science 61C; and recommended: Electrical Engineering 105. Students must enroll concurrently in at least one the laboratory flavors Electrical Engineering and Computer Science 251LA or Electrical Engineering and Computer Science 251LB. Students wishing to take a second laboratory flavor next term can sign-up only for that laboratory section and receive a letter grade. The pre-requisite for “Lab-only” enrollment that term will be Electrical Engineering an
Credit Restrictions: Students must enroll concurrently in at least one the laboratory flavors Electrical Engineering and Computer Science 251LA or Electrical Engineering and Computer Science 251LB. Students wishing to take a second laboratory flavor next term can sign-up only for that laboratory section and receive a letter grade. The pre-requisite for “Lab-only” enrollment that term will be Electrical Engineering and Computer Science 251A from previous terms.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture and 1 hour of discussion per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructors: Stojanovic, Wawrzynek
Formerly known as: Electrical Engineering 241A
Introduction to Digital Design and Integrated Circuits: Read Less [-]
EECS 251LA Introduction to Digital Design and Integrated Circuits Lab 2 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
This lab lays the foundation of modern digital design by first presenting the scripting and hardware description language base for specification of digital systems and interactions with tool flows. The labs are centered on a large design with the focus on rapid design space exploration. The lab exercises culminate with a project design, e.g. implementation of a 3-stage RISC-V processor with a register file and caches. The design is mapped to simulation and layout specification.
Introduction to Digital Design and Integrated Circuits Lab: Read More [+]
Objectives Outcomes
Course Objectives: Software testing of digital designs is covered leading to a set of exercises that cover the design flow. Digital synthesis, floor-planning, placement and routing are covered, as well as tools to evaluate timing and power consumption. Chip-level assembly is covered, including instantiation of custom blocks: I/O pads, memories, PLLs, etc.
Student Learning Outcomes: Although the syllabus is the same as EECS151LA, the assignments and exams for EECS251LA will have harder problems in labs and in the project that test deeper understanding expected from a graduate level course.
Rules & Requirements
Prerequisites: Electrical Engineering 16A & 16B; Computer Science 61C; and recommended: Electrical Engineering 105
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructors: Stojanovic, Wawrzynek
Introduction to Digital Design and Integrated Circuits Lab: Read Less [-]
EECS 251LB Introduction to Digital Design and Integrated Circuits Lab 2 Units
Terms offered: Fall 2018, Spring 2018, Fall 2017
This lab covers the design of modern digital systems with Field-Programmable Gate Array (FPGA) platforms. A series of lab exercises provide the background and practice of digital design using a modern FPGA design tool flow. Digital synthesis, partitioning, placement, routing, and simulation tools for FPGAs are covered in detail. The labs exercises culminate with a large design project, e.g., an implementation of a full 3-stage RISC-V processor system, with caches, graphics acceleration, and external peripheral components. The design is mapped and demonstrated on an FPGA hardware platform.
Introduction to Digital Design and Integrated Circuits Lab: Read More [+]
Objectives Outcomes
Student Learning Outcomes: Although the syllabus is the same as EECS151LB, the assignments and exams for EECS251LB will have harder problems in labs and in the project that test deeper understanding expected from a graduate level course.
Rules & Requirements
Prerequisites: Electrical Engineering 16A & 16B; Computer Science 61C; and recommended: Electrical Engineering 105
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructors: Stojanovic, Wawrzynek
Introduction to Digital Design and Integrated Circuits Lab: Read Less [-]