Courses
Terms offered: Spring 2025, Fall 2024, Summer 2024 8 Week Session
This course offers an introduction to signals, systems, optimization, controls, and machine learning, all grounded in linear algebraic techniques. After a brief review of linear algebra, students will delve into topics such as signal processing, linear systems, feedback control, optimization methods, and foundational machine learning algorithms. Emphasizing practical applications, the course prepares EECS majors for advanced study by connecting mathematical concepts to real-world engineering problems.
Foundations of Signals, Dynamical Systems, and Information Processing: Read More [+]
Rules & Requirements
Prerequisites: MATH 54
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week
Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 6 hours of laboratory 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, Tennant
Formerly known as: Electrical Engineering 16A
Foundations of Signals, Dynamical Systems, and Information Processing: Read Less [-]
Terms offered: Spring 2025, Fall 2024, Spring 2024
This course teaches the fundamentals needed to predict the behavior of real-world electronic phenomena and applications via mathematical models and circuit analytical methods that simplify initially complex problems, rendering them solvable and understandable. Among the specific topics to be covered are time and frequency domain representation, complex arithmetic, phasor analysis of systems governed by differential equations, Kirchhoff’s laws, physical examples of electronic elements and devices, RLC circuits, op amp-based signal processors, feedback methods, and circuit models for domains beyond the electronic. Class contact time includes lectures, discussions, and a laboratory component designed to help solidify learned concepts.
Introduction to Circuits & Devices: Read More [+]
Rules & Requirements
Prerequisites: MATH 54
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 3 hours of laboratory per week
Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 6 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Final exam required.
Instructors: Alon, Ayazifar, Lustig, Maharbiz, Subramanian, Tomlin, Wu
Formerly known as: Electrical Engineering 16B
Terms offered: Fall 2021
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 51; MATH 52; COMPSCI 61A (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 [-]
Terms offered: Not yet offered
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 51; MATH 52; COMPSCI 61A; EECS 16A or EECS 47D or MATH 54; 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 [-]
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 COMPSCI 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 required.
Instructors: Ranade, Rao, Sahai, Seshia, Vazirani, Walrand
Terms offered: Fall 2024, Fall 2023, Fall 2022, Fall 2021, Fall 2020, Fall 2019
This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, control of robot manipulators, robotic vision, sensing, forward & inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, & control. We will present techniques for geometric motion planning & obstacle avoidance. Open problems in trajectory generation with dynamic constraints will also be discussed. The course also presents the use of the same analytical techniques as manipulation for the analysis of images & computer vision. Low level vision, structure from motion, & an introduction to vision & learning will be covered. The course concludes with current applications of robotics.
Introduction to Robotics: Read More [+]
Rules & Requirements
Prerequisites: Familiarity with linear algebra at the level of EECS 16A/EECS 16B or MATH 54. Experience coding in python at the level of COMPSCI 61A. Preferred: experience developing software at the level of COMPSCI 61B and experience using Linux
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
Summer: 8 weeks - 6 hours of lecture, 2 hours of discussion, and 6 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: Sastry
Also listed as: BIO ENG C106A/MEC ENG C106A
Terms offered: Spring 2025, Spring 2024, Spring 2023, Spring 2021, Spring 2020, Spring 2019
The course is a sequel to EECS/BIOE/MEC106A/EECSC206A, which covers the mathematical fundamentals of robotics including kinematics, dynamics and control as well as an introduction to path planning, obstacle avoidance, and computer vision. This course will present several areas of robotics and active vision, at a deeper level and informed by current research. Concepts will include the review at an advanced level of robot control, the kinematics, dynamics and control of multi-fingered hands, grasping and manipulation of objects, mobile robots: including non-holonomic motion planning and control, path planning, Simultaneous Localization And Mapping (SLAM), and active vision. Additional research topics covered at the instructor's discretion.
Robotic Manipulation and Interaction: Read More [+]
Rules & Requirements
Prerequisites: EECS C106A / BIO ENG C106A / MEC ENG C106A / EECS C206A or an equivalent course. A strong programming background, knowledge of Python and Matlab, and some coursework in feedback controls (such as EL ENG C128 / MEC ENG C134) are also useful. Students who have not taken the prerequisite course should have a strong programming background, knowledge of Python and Matlab, and exposure to linear algebra, Lagrangian dynamics, and feedback controls at the intermediate level. EECS C106A
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.
Instructor: Sastry
Also listed as: BIO ENG C106B/MEC ENG C106B
Terms offered: Not yet offered
This course develops a fundamental understanding of computer
vision (CV) and computer graphics (CG) that underpin the
emerging AR/VR and Metaverse applications. The syllabus
includes 3D perception, near-eye optics, depth cameras, 3D
localization, and immersive 3D user experience. The companion
lab helps students to acquire basic AR/VR coding skills in Unity
and develop Metaverse applications. The course builds a strong
foundation for students to take more advanced course: CS
294-137.
Introduction to AR/VR and Applications in Metaverse: Read More [+]
Rules & Requirements
Prerequisites: Familiarity with Linear Algebra at the level of EECS 16A/B or MATH 54. Experience on coding proficiency and data structures at the level of CS61 A/B
Repeat rules: Course may be repeated for credit with instructor consent.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture and 2 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Undergraduate
Grading/Final exam status: Letter grade. Alternate method of final assessment during regularly scheduled final exam group (e.g., presentation, final project, etc.).
Instructor: Yang
Introduction to AR/VR and Applications in Metaverse: Read Less [-]
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: COMPSCI 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
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: EECS 16A and EECS 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
Terms offered: Fall 2024, Fall 2023, Fall 2022
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 and Cyber Physical 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: COMPSCI 61C and COMPSCI 70; EECS 16A and EECS 16B, or permission of instructor
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, Dutta
Introduction to Embedded and Cyber Physical Systems: Read Less [-]
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: EECS 16A and EECS 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 [-]
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: COMPSCI 61C, EECS 16A, EECS 16B, and EL ENG 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 [-]
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: EECS 16A, EECS 16B, and COMPSCI 61C; EL ENG 105 recommended
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
Terms offered: Fall 2024, Fall 2023, Fall 2022
This course is an introduction to the field of robotics. It covers the fundamentals of kinematics, dynamics, control of robot manipulators, robotic vision, sensing, forward & inverse kinematics of serial chain manipulators, the manipulator Jacobian, force relations, dynamics, & control. We will present techniques for geometric motion planning & obstacle avoidance. Open problems in trajectory generation with dynamic constraints will also be discussed. The course also presents the use of the same analytical techniques as manipulation for the analysis of images & computer vision. Low level vision, structure from motion, & an introduction to vision & learning will be covered. The course concludes with current applications of robotics.
Introduction to Robotics: Read More [+]
Rules & Requirements
Prerequisites: Familiarity with linear algebra at level of EECS 16A/EECS 16B or MATH 54. Experience doing coding in python at the level of COMPSCI 61A. Preferred: experience developing software at level of COMPSCI 61B and experience using Linux. EECS 120 is not required, but some knowledge of linear systems may be helpful for the control of robots
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: Sastry, Sreenath
Formerly known as: Electrical Engin and Computer Sci 206A
Also listed as: MEC ENG C206A
Terms offered: Spring 2025, Spring 2024, Spring 2023
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: Students are expected to have taken EECS C106A / BioE C106A / ME C106A / ME C206A/ EECS C206A or an equivalent course. A strong programming background, knowledge of Python and Matlab, and some coursework in feedback controls (such as EE C128 / ME C134) are also useful. Students who have not taken EECS C106A / BioE C106A / ME C106A / ME C206A/ EECS C206A should have a strong programming background, knowledge of Python and Matlab, and exposure to linear algebra, and Lagrangian dynamics
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
Formerly known as: Electrical Engin and Computer Sci 206B
Also listed as: MEC ENG C206B
Terms offered: Fall 2023, Fall 2022, Fall 2021
Introduction to fundamental geometric and statistical concepts and principles of low-dimensional models for high-dimensional signal and data analysis, spanning basic theory, efficient algorithms, and diverse real-world applications. Systematic study of both sampling complexity and computational complexity for sparse, low-rank, and low-dimensional models – including important cases such as matrix completion, robust principal component analysis, dictionary learning, and deep networks.
Computational Principles for High-dimensional Data Analysis: Read More [+]
Rules & Requirements
Prerequisites: The following courses are recommended undergraduate linear algebra (Math 110), statistics (Stat 134), and probability (EE126). Back-ground in signal processing (ELENG 123), optimization (ELENG C227T), machine learning (CS189/289), and computer vision (COMPSCI C280) may allow you to appreciate better certain aspects of the course material, but not necessary all at once. The course is open to senior undergraduates, with consent from the instructor
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: Ma
Computational Principles for High-dimensional Data Analysis: Read Less [-]
Terms offered: Spring 2025, Spring 2024
Numerical simulation and modeling are enabling technologies that pervade science and engineering. This course provides a detailed introduction to the fundamental principles of these technologies and their translation to engineering practice. The course emphasizes hands-on programming in MATLAB and application to several domains, including circuits, nanotechnology, and biology.
Numerical Simulation and Modeling: Read More [+]
Rules & Requirements
Prerequisites: Consent of instructor; a course in linear algebra and on circuits is very useful
Credit Restrictions: Students will receive no credit for EL ENG 219A after completing EL ENG 219.
Hours & Format
Fall and/or spring: 15 weeks - 4 hours of lecture per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructor: Roychowdhury
Formerly known as: Electrical Engineering 219A
Terms offered: Spring 2025, Spring 2024, Spring 2023
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; COMPSCI 170 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 [-]
Terms offered: Spring 2025, Spring 2023, Fall 2021
This course connects classical statistical signal processing (Hilbert space filtering theory by Wiener and Kolmogorov, state space model, signal representation, detection and estimation, adaptive filtering) with modern statistical and machine learning theory and applications. It focuses on concrete algorithms and combines principled theoretical thinking with real applications.
Statistical Signal Processing: Read More [+]
Rules & Requirements
Prerequisites: EL ENG 120 and EECS 126
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.
Instructors: Jiao, Waller
Formerly known as: Electrical Engineering 225A
Terms offered: Fall 2023, Fall 2022, Fall 2020
This course deals with computational methods as applied to digital imagery. It focuses on image sensing and acquisition, image sampling and quantization; spatial transformation, linear and nonlinear filtering; introduction to convolutional neural networks, and GANs; applications of deep learning methods to image processing problems; image enhancement, histogram equalization, image restoration, Weiner filtering, tomography, image reconstruction from projections and partial Fourier information, Radon transform, multiresolution analysis, continuous and discrete wavelet transform and computation, subband coding, image and video compression, sparse signal approximation, dictionary techniques, image and video compression standards, and more.
Digital Image Processing: Read More [+]
Rules & Requirements
Prerequisites: Basic knowledge of signals and systems, convolution, and Fourier Transform
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: Zakhor
Formerly known as: Electrical Engineering 225B
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: MATH 54 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
Terms offered: Spring 2020, Spring 2019, Spring 2016
Principles of embedded system design. Focus on design methodologies and foundations. Platform-based design and communication-based design and their relationship with design time, re-use, and performance. Models of computation and their use in design capture, manipulation, verification, and synthesis. Mapping into architecture and systems platforms. Performance estimation. Scheduling and real-time requirements. Synchronous languages and time-triggered protocols to simplify the design process.
Cyber Physical System Design Prinicples and Applications: Read More [+]
Rules & Requirements
Prerequisites: Suggested but not required: CS170, EECS149/249A
Credit Restrictions: Students will receive no credit for EECS C249B after completing EL ENG 249, or EECS 249B. A deficient grade in EECS C249B may be removed by taking EECS 249B.
Hours & Format
Fall and/or spring: 15 weeks - 3 hours of lecture, 1 hour of discussion, and 2 hours of laboratory per week
Additional Details
Subject/Course Level: Electrical Engin and Computer Sci/Graduate
Grading: Letter grade.
Instructor: Sangiovanni-Vincentelli
Formerly known as: Electrical Engineering C249B/Civil and Environmental Engineering C289
Also listed as: CIV ENG C289
Cyber Physical System Design Prinicples and Applications: Read Less [-]
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: EECS 16A and EECS 16B; COMPSCI 61C; and recommended: EL ENG 105. Students must enroll concurrently in at least one the laboratory flavors EECS 251LA or EECS 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 prerequisite for “Lab-only” enrollment that term will be EECS 251A from previous terms
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 [-]
Terms offered: Spring 2025, Spring 2024, Spring 2023
This course aims to convey a knowledge of advanced concepts of digital circuit and system-on-a-chip design in state-of-the-art technologies. Emphasis is on the circuit and system design and optimization for both energy efficiency and high performance for use in a broad range of applications, from edge computing to datacenters. Special attention will be devoted to the most important challenges facing digital circuit designers in the coming decade. The course is accompanied with practical laboratory exercises that introduce students to modern tool flows.
Advanced Digital Integrated Circuits and Systems: Read More [+]
Rules & Requirements
Prerequisites: Introduction to Digital Design and Integrated Circuits, EECS151 (taken with either EECS151LA or EECS151LB lab) or EECS251A (taken with either EECS251LA or EECS251LB lab)
Credit Restrictions: Students will receive no credit for EECS 251B after completing COMPSCI 250, or EL ENG 241B.
Hours & Format
Fall and/or spring: 15 weeks - 4 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: Nikolić, Shao, Wawrzynek, Asanović, Stojanović, Seshia
Advanced Digital Integrated Circuits and Systems: Read Less [-]
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: EECS 16A, EECS 16B, and COMPSCI 61C; and EL ENG 105 is recommended
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 [-]
Terms offered: Spring 2025, Fall 2024, Spring 2024
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: EECS 16A, EECS 16B, and COMPSCI 61C; and EL ENG 105 is recommended
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 [-]