ARCHIVED CATALOG: Visit catalog.ucsb.edu to view the 2023-2024 General Catalog.

UC Santa Barbara General CatalogUniversity of California, Santa Barbara

Computer Engineering

Harold Frank Hall, Room 4157;
Telephone (805) 893-5615 or (805) 893-8292
Email: info@ce.ucsb.edu
Website: www.ce.ucsb.edu
Director: Li-C. Wang


 

Some courses displayed may not be offered every year. For actual course offerings by quarter, please consult the Quarterly Class Search or GOLD (for current students). To see the historical record of when a particular course has been taught in the past, please visit the Course Enrollment Histories.

Computer Science
 (
Show All
 | 
Hide All
)
Collapse Courses Lower Division 
CMPSC 1. Seminar on the Field of Computer Science
(1) FRANKLIN
Overviews the potential of, and opportunities available from, the field of computer science. Topics include an overview of how computers work and the interesting ways in which computers can be applied to solve important and high-impact technological, social, and cutting-edge research problems.
CMPSC 2. Computational Thinking for Scientists
(4) EGECIOGLU
Prerequisite: Math 4A with a grade of C or better.
Introduction to the central concepts of computer science as they apply to a wide variety of human endeavors, including natural and physical sciences. Topics that interrelate central ideas from algorithms, performance and complexity, data structures, concurrency, languages and abstractions will be studied.
CMPSC 4. Computer Science Boot Camp
(4) KOC
An introduction to computational thinking, computing, data management, and problem solving using computers, for non-majors. Topics include coding basics, representing code and data using a computer, and applications of computing that are important to society.
CMPSC 5A. Introduction to Data Science 1
(4) STAFF
Enrollment Comments: Not open for credit to students who have completed Computer Science 8, Computer Science 16, Engineering 3, ECE 3, or equivalent (including AP CS A with a score of 4 or higher).
Introduction to data science methods and Python programming language for students with little to no experience in the subjects. Topics include foundational programming concepts, problem-solving strategies and code design, and data science concepts as table operations, exploratory data analysis, basic probability.
CMPSC 5B. Introduction to Data Science 2
(4) STAFF
Prerequisite: Computer Science 5A or Computer Science 8 or ECE 3 with a grade of C or better.
Students explore the data science lifecycle, including question formulation, data collection and cleaning, exploratory data analysis and visualization, statistical inference and prediction, and decision-making. The course focus is on transforming and analyzing data; machine learning methods including regression, classification and clustering; principles behind data visualizations; concepts of measurement error and prediction; and techniques for scalable data processing.
CMPSC 8. Introduction to Computer Science
(4) MIRZA
Enrollment Comments: Not open for credit to students who have completed Computer Science 16 or Engineering 3 or ECE 3.
Introduction to computer program development for students with little to no programming experience. Basic programming concepts, variables and expressions, data and control structures, algorithms, debugging, program design, and documentation.
CMPSC 9. Intermediate Python Programming
(4) R WANG
Prerequisite: Computer Science 8 or Engineering 3 with a grade of C or better.
Intermediate topics in Computer Science using the Python programming language. Topics include object oriented programming, runtime analysis, data structures, and software testing methodologies.
CMPSC 11AAZZ. Programming Language Laboratory
(1) STAFF
Prerequisite: Knowledge of at least one programming language.
Enrollment Comments: Different sections may be repeated. Sections not always offered.
A self-paced course to allow a student who already possesses a working knowledge of at least one programming language an opportunity to learn other languages of interest. Each section studies a different programming language.
CMPSC 11AD. Programming Language Laboratory: ADA
CMPSC 11AP. Programming Language Laboratory: APL
CMPSC 11C. Programming Language Laboratory
CMPSC 11CO. Programming Language Laboratory: COBOL
CMPSC 11FO. Programming Language Laboratory: Fortran
CMPSC 11JA. Programming Language Laboratory
CMPSC 11LI. Programming Language Laboratory: LISP
CMPSC 11PA. Programming Language Laboratory: Pascal
CMPSC 11PL. Programming Language Laboratory: PL/1
CMPSC 11SN. Programming Language Laboratory: SNOBOL
CMPSC 16. Problem Solving with Computers I
(4) MIRZA, KHARITONOVA
Prerequisite: Mathematics 3A or 2A with a grade of C or better (may be taken concurrently), CS 8 or Engineering 3 or ECE 3 with a grade of C or better, or significant prior programming experience.
Repeat Comments: Legal repeat of CMPSC 10.
Fundamental building blocks for solving problems using computers. Topics include basic computer organization and programming constructs: memory CPU, binary arithmetic, variables, expressions, statements, conditionals, iteration, functions, parameters, recursion, primitive and composite data types, and basic operating system and debugging tools.
CMPSC 24. Problem Solving with Computers II
(4) COSTANZO
Prerequisite: Computer Science 16 with a grade of C or better; and Mathematics 3B or 2B with a grade of C or better (may be taken concurrently).
Enrollment Comments: Not open for credit to students who have completed Computer Science 20.
Repeat Comments: This is a legal repeat of CMPSC 24A.
Intermediate building blocks for solving problems using computers. Topics include intermediate object-oriented programming, data structures, object-oriented design, algorithms for manipulating these data structures and their run-time analyses. Data structures introduced include stacks, queues, lists, trees, and sets.
CMPSC 24A. Problem Solving with Computers II
(4) WANG, RICHERT
Prerequisite: Computer Science 16 with a grade of C or better; and Mathematics 3B or 2B with a grade of C or better (may be taken concurrently).
Enrollment Comments: Not open for credit to students who have completed Computer Science 20.
Repeat Comments: This is a legal repeat of CS 24.
Intermediate building blocks for solving problems using computers. Topics include data structures, object-oriented design and development, algorithms for manipulating these data structures and their runtime analyses. Data structures introduced include stacks, queues, lists, trees, and sets.
CMPSC 32. Object Oriented Design and Implementation
(4) HOLLERER
Prerequisite: Computer Science 24 with a grade of C or better
Repeat Comments: Computer Science 32 is a legal repeat for Computer Science 60
Advanced topics in object-oriented computing. Topics include encapsulation, data hiding, inheritance, polymorphism, compilation, linking and loading, memory management, and debugging; recent advances in design and development tools, practices, libraries, and operating system support.
CMPSC 40. Foundations of Computer Science
(5) SU, VAN DAM
Prerequisite: Computer Science 16 with a grade of C or better and Mathematics 4A with a grade of C or better.
Introduction to the theoretical underpinnings of computer science. Topics include propositional predicate logic, set theory, functions and relations, counting, mathematical induction and recursion (generating functions).
CMPSC 64. Computer Organization and Logic Design
(4) ZHENG, FRANKLIN
Prerequisite: Computer Science 16 with a grade of C or better; and Mathematics 3C or 4A with a grade of C or better.
Enrollment Comments: Not open for credit to students who have completed ECE 15 or ECE 15B or Computer Science 30.
Repeat Comments: Course counts as a legal repeat of CMPSC 30.
Assembly language programming and advanced computer organization; Digital logic design topics including gates, combinational circuits, flip-flops, and the design and analysis of sequential circuits.
CMPSC 90AAZZ. Special Topics in Computer Science
(4) STAFF
Prerequisite: Consent of instructor.
Enrollment Comments: May be repeated for credit to a maximum of 32 units provided letter designations are different.
Provides for the study of topics of current interest in computer science: A. Foundations; B. Software Systems; C. Programming Languages and Software Engineering; D. Information Management; E. Architecture; F. Networking; G. Security; H. Scientific Computing; I. Intelligent and Interactive Systems; N. General.
CMPSC 90DA. Special Topics in Computer Science
CMPSC 90DB. Special Topics in Computer Science
CMPSC 95. Undergraduate Seminar in Computer Science
(1-4) STAFF
Prerequisite: Open to computer science and computer engineering majors only; consent of instructor.
Provides an overview of the history, technology, applications, and impact in various areas of computer science, including: A. Foundations, B. Software Systems, C. Programming languages and software engineering, D. Information management,E. Architecture, F. Networking G. Security, H. Scientific computing,I. Intelligent and interactive systems, J. History, N. General.
CMPSC 96. Undergraduate Research
(2-4) STAFF
Prerequisite: Consent of instructor.
Enrollment Comments: May be repeated for up to 12 units total. Does not apply toward any CS major degree requirements.
Research opportunities for undergraduate students. Students will be expected to give regular oral presentations, actively participate in a weekly seminar, and prepare at least one written report on their research.
CMPSC 99. Independent Studies in Computer Science
(1-4) STAFF
Enrollment Comments: Must have a minimum 3.0 grade point average. May be repeated. Students are limited to 5 units per quarter and 30 units total in all 99/198/199 courses combined.
Independent studies in computer science for advanced students.
Collapse Courses Upper Division 
CMPSC 100. Introduction to Teaching Methods in Computer Science
(4) MIRZA
Prerequisite: Consent of instructor.
Enrollment Comments: May be repeated to a maximum of 12 units.
Designed to train outstanding undergraduates for learning assistant positions in CS courses. Lecture/discussion surveys current research and best practices in CS pedagogy including student development theories, different pedagogical techniques, and methods for assessing learning. Students gain experience working one-on-one with students, fostering positive learning environments, and providing feedback on student work. Students who successfully complete this course will earn units by serving as an apprentice undergraduate learning assistant.
CMPSC 110. Introduction to Research in Computer Science
(4) MIRZA
Prerequisite: Computer Science 40 and Computer Science 32; consent of instructor.
Defining a CS research problem, finding and reading technical papers, oral communication, technical writing, and independent learning. Course participants work in teams as they apprentice with a CS research group to propose an original research problem and write a research proposal.
CMPSC 111. Introduction to Computational Science
(4) GILBERT
Prerequisite: Mathematics 4B with a grade of C or better; Mathematics 6A with a grade of C or better; Computer Science 24 with a grade of C or better.
Enrollment Comments: Not open for credit to students who have completed Computer Science 110A.
Introduction to the numerical algorithms that form the foundations of data science, machine learning, and computational science and engineering. Matrix computation, linear equation systems, eigenvalue and singular value decompositions, numerical optimization. The informed use of mathematical software environments and libraries, such as python/numpy/scipy.
CMPSC 130A. Data Structures and Algorithms I
(4) EL ABBADI
Prerequisite: Computer Science 40 with a grade of C or better; Computer Science 32 with a grade of C or better; PSTAT 120A or ECE 139; open to computer science, computer engineering, and electrical engineering majors only.
Data structures and applications with proofs of correctness and analysis. Hash tables, priority queues (heaps); balanced search trees. Graph traversal techniques and their applications.
CMPSC 130B. Data Structures and Algorithms II
(4) EGECIOGLU
Prerequisite: Computer Science 130A.
Design and analysis of computer algorithms. Correctness proofs and solution of recurrence relations. Design techniques; divide and conquer, greedy strategies, dynamic programming. Applications of techniques to problems from several disciplines. NP - completeness.
CMPSC 138. Automata and Formal Languages
(4) EGECIOGLU
Prerequisite: Computer Science 40 with a grade of C or better; open to Computer Science and Computer Engineering majors only.
Formal languages; finite automata and regular expressions; properties of regular languages; pushdown automata and context-free grammars; properties of context-free languages; introduction to Turing machines and computability.
CMPSC 140. Parallel Scientific Computing
(4) YANG T
Prerequisite: Mathematics 4B with a grade of C or better; Mathematics 6A with a grade of C or better; Computer Science 130A.
Enrollment Comments: Not open for credit to students who have completed Computer Science 110B.
Fundamentals of high performance computing and parallel algorithm design for numerical computation. Topics include parallel architectures and clusters, parallel programming with message-passing libraries and threads, program parallelization methodologies, parallel performance evaluation and optimization, parallel numerical algorithms and applications with different performance tradeoffs.
CMPSC 148. Computer Science Project
(4) CONRAD
Prerequisite: Computer Science 32 with a grade of C or better; open to Computer Science majors only.
Enrollment Comments: Not open for credit to students who have completed Computer Science 48 with a grade of C or better.
Repeat Comments: CMPSC 148 is a legal repeat of CMPSC 48.
Team-based project development. Topics include software engineering and professional development practices, interface design, advanced library support; techniques for team oriented design and development, testing and test driven development, and software reliability and robustness. Students present and demonstrate final projects.
CMPSC 153A. Hardware/Software Interface
(4) BREWER, KRINTZ
Prerequisite: Upper division standing in Computer Science, Computer Engineering or Electrical Engineering.
Enrollment Comments: Same course as ECE 153A.
Issues in interfacing computing systems and software to practical I/O interfaces. Rapid response, real-time events and management of tasks, threads, and scheduling required for efficient design of embedded software and systems is discussed. Techniques for highly constrained systems.
CMPSC 154. Computer Architecture
(4) STAFF
Prerequisite: Computer Science 32 with a grade of C or better; Computer Science 64 with a grade of C or better.
Enrollment Comments: Not open for credit to students who have received credit for ECE 154 or ECE 154A or ECE 154B.
Introduction to the architecture of computer systems. Topics include: central processing units, memory systems, channels and controllers, peripheral devices, interrupt systems, software versus hardware tradeoffs.
CMPSC 156. Advanced Applications Programming
(4) CONRAD
Prerequisite: Computer Science 24 and 32 with a grade of C or better; open to Computer Science and Computer Engineering majors only.
Enrollment Comments: Not open for credit to students who have completed Computer Science 20. Not open for credit to students who have completed Computer Science 56 with a grade of C or better.
Repeat Comments: CMPSC 156 is a legal repeat of CMPSC 56.
Advanced application programming using a high-level, virtual-machine-based language. Topics include generic programming, exception handling, automatic memory management, and application development, management, and maintenance tools, third-party library use, version control, software testing, issue tracking, code review, and working with legacy code.
CMPSC 160. Translation of Programming Languages
(4) SHERWOOD
Prerequisite: Computer Science 64 or Electrical Engineering 154 or Electrical Engineering 154A; Computer Science 130A; and Computer Science 138; open to computer science and computer engineering majors only.
Study of the structure of compilers. Topics include: lexical analysis; syntax analysis including LL and LR parsers; type checking; run-time environments; intermediate code generation; and compiler-construction tools.
CMPSC 162. Programming Languages
(4) KRINTZ, HARDEKOPF
Prerequisite: Computer Science 130A and 138; open to computer science and computer engineering majors only.
Concepts of programming languages: scopes, parameter passing, storage management; control flow, exception handling; encapsulation and modularization mechanisms; reusability through genericity and inheritance; type systems; programming paradigms (imperative, object-oriented, functional, and others). Emerging programming languages and their development infrastructures.
CMPSC 165A. Artificial Intelligence
(4) WANG YX
Prerequisite: Computer Science 130A
Introduction to the field of artificial intelligence, which seeks to understand and build intelligent computational systems. Topics include intelligent agents, problem solving and heuristic search, knowledge representation and reasoning, uncertainty and probabilistic reasoning, machine learning, reinforcement learning, and responsible AI.
CMPSC 165B. Machine Learning
(4) WANG W
Prerequisite: Computer Science 130A.
Recommended Preparation: Computer Science 111.
Covers the most important techniques of machine learning (ML) and includes discussions of: well-posed learning problems; artificial neural networks; concept learning and general to specific ordering; decision tree learning; genetic algorithms; Bayesian learning; analytical learning; and others.
CMPSC 170. Operating Systems
(4) KRUEGEL, ZHAO
Prerequisite: Computer Science 130A; and, Computer Science 154 or ECE 154A (may be taken concurrently); open to computer science, computer engineering or electrical engineering majors only.
Basic concepts of operating systems. The notion of a process; interprocess communication and synchronization; input-output, file systems, memory management.
CMPSC 171. Distributed Systems
(4) EL ABBADI
Prerequisite: Computer Science 130A.
Enrollment Comments: Not open for credit to students who have completed ECE 151.
Distributed systems architecture, distributed programming, network of computers, message passing, remote procedure calls, group communication, naming and membership problems, asynchrony, logical time, consistency, fault-tolerance, and recovery.
CMPSC 172. Software Engineering
(4) BULTAN
Prerequisite: Computer Science 130A. Open to Computer Science or Computer Engineering majors only, or by consent of department.
Recommended Preparation: Computer Science 130B.
Software engineering is concerned with long-term, large-scale programming projects. Software management, cost estimates, problem specification and analysis, system design techniques, system testing and performance evaluation, and system maintenance. Students will design, manage, and implement a medium-sized project.
CMPSC 174A. Fundamentals of Database Systems
(4) SU
Prerequisite: Computer Science 130A.
Recommended Preparation: Students are strongly encouraged to complete Computer Science 56 or Computer Science 156 prior to enrolling in Computer Science 174A.
Database system architectures, relational data model, relational algebra, relational calculus, SQL, QBE, query processing, integrity constraints (key constraints, referential integrity), database design, ER and object- oriented data model, functional dependence, lossless join and dependency preserving decompositions, Boyce-Codd and Third Normal Forms.
CMPSC 174B. Design and Implementation Techniques of Database Systems
(4) SU, YAN
Prerequisite: Computer Science 130B.
Recommended Preparation: Students are strongly encouraged to complete Computer Science 56 or Computer Science 156 prior to enrolling in Computer Science 174B.
Queries and processing, optimizer, cost models, execution plans, rewriting rules, access methods, spatial indexing; transactions, ACID properties, concurrency control, serializability, two-phase locking, timestamping, logging,checkpointing, transaction abort and commit, crash recovery; distributed databases.
CMPSC 174N. Introduction to Databases
(4) SU, JIANWEN
Prerequisite: Computer Science 130A (may be taken concurrently); or consent of instructor.
Enrollment Comments: Open to non-majors.
ER/object-oriented data modeling, relational data model, database design, query languages (algebra, calculus, SQL, QBE), updates and views, query processing, integrity constraints (key constraints, referential integrity), functional dependence, Boyce­-Codd and Third Normal Forms.
CMPSC 176A. Introduction to Computer Communication Networks
(4) ALMEROTH, BELDING
Prerequisite: CMPSC 32 with a grade of C or better; PSTAT 120A or ECE 139; open to computer science, electrical engineering, and computer engineering majors only.
Recommended Preparation: PSTAT 120B.
Enrollment Comments: Not open for credit to students who have completed Computer Science 176 or ECE 155 or ECE 155A.
Basic concepts in networking, the OSI model, error detection codes, flow control, routing, medium access control, and high-speed networks.
CMPSC 176B. Network Computing
(4) VIGNA, ZHAO
Prerequisite: Computer Science 176A.
Enrollment Comments: Not open for credit to students who have completed ECE 155B or 194W.
Focus on networking and web technologies used in the Internet. The class covers socket programming and web-based techniques that are used to build distributed applications.
CMPSC 176C. Advanced Topics in Internet Computing
(4) BELDING
Prerequisite: Computer Science 176A.
Recommended Preparation: Computer Science 176B, PSTAT 120A.
General overview of wireless and mobile networking, multimedia, security, multicast, quality of service, IPv6, and web caching. During the second half of the course, one or more of the above are studied in greater detail.
CMPSC 177. Computer Security
(4) KEMMERER
Prerequisite: Computer Science 170 (may be taken concurrently).
Introduction to the basics of computer security and privacy. Analysis of technical difficulties of producing secure computer information systems that provide guaranteed controlled sharing. Examination and critique of current systems, methods, certification.
CMPSC 178. Introduction to Cryptography
(4) EGECIOGLU
Prerequisite: Computer Science 24 with a grade of C or better; Computer Science 40 with a grade of C or better; and PSTAT 120A or 121A or ECE 139 or permission of instructor.
An introduction to the basic concepts and techniques of cryptography and cryptanalysis. Topics include: The Shannon Theory, classical systems, the enigma machine, the data encryption standard, public key systems, digital signatures, file security.
CMPSC 180. Computer Graphics
(4) WANG
Prerequisite: Computer Science 130B or consent of instructor.
Overview of OpenGL graphics standard, OpenGL state machine, other 3D graphics libraries, 3D graphics pipeline, 3D transformations and clipping, color model, shading model, shadow algorithms, texturing, curves and curved surfaces, graphics hardware, interaction devices and techniques
CMPSC 181. Introduction to Computer Vision
(4) TURK, WANG
Prerequisite: Upper-division standing in Electrical Engineering, Computer Engineering, Computer Science, Chemical Engineering or Mechanical Engineering.
Enrollment Comments: Same course as ECE 181.
Repeat Comments: Not open for credit to students who have completed ECE/CMPSC 181B with a grade of C or better. ECE/CMPSC 181 is a legal repeat of ECE/CMPSC 181B.
Overview of computer vision problems and techniques for analyzing the content of images and video. Topics include image formation, edge detection, image segmentation, pattern recognition, texture analysis, optical flow, stereo vision, shape representation and recovery techniques, issues in object recognition, and case studies of practical vision systems.
CMPSC 182. Multimedia Computing
(4) ALMEROTH, ZHENG
Enrollment Comments: Not open for credit to students who have completed ECE 160.
Introduction to multimedia and applications. Topics include streaming media, conferencing, webcasting, digital libraries, multimedia system architectures, standards (including JPEG and MPEG), and multimedia storage and retrieval. A key emphasis is on using the internet for delivery of multimedia data. (First offered 2003-2004)
CMPSC 184. Mobile Application Development
(4) HOLLERER
Prerequisite: Computer Science 56 or Computer Science 156; and Computer Science 130A.
An introduction to programming mobile computing devices. Students will learn about and study the shift in software development from desktop to mobile device applications. Topics will include software engineering and design practices, advances in programming practice, and support tools for mobile application development and testing. Students will develop and deploy mobile applications as part of their course work.
CMPSC 185. Human-Computer Interaction
(4) HOLLERER
Prerequisite: Upper division standing; Open to computer science, computer engineering, and electrical engineering majors.
Recommended Preparation: Students are strongly encouraged to complete Computer Science 56 or Computer Science 156 prior to enrolling in Computer Science 185. Proficiency in the Java/C++ programming language, some experience with user interface programming.
The study of human-computer interaction enables system architects to design useful, efficient, and enjoyable computer interfaces. This course teaches the theory, design guidelines, programming practices, and evaluation procedures behind effective human interaction with computers.
CMPSC 189A. Senior Computer Systems Project
(4) BULTAN, KRINTZ
Prerequisite: Computer Science 48 or 56 or 148 or 156 or 172; Senior standing in computer science or computer engineering.
Enrollment Comments: Quarters usually offered: Fall. Not open for credit to students who have completed ECE 189A.
This course is the first in the 2-course Computer Science Capstone sequence. Student teams learn about modern software design and engineering techniques and work together to use them and their past educational experiences at UCSB to analyze, specify, design, and prototype innovative solutions to complex, real world problems using computers.
CMPSC 189B. Senior Computer Systems Project
(4) BULTAN, KRINTZ, VIGNA
Prerequisite: CMPSC 189A; Senior standing in Computer Science or Computer Engineering.
Enrollment Comments: Quarters usually offered: Winter. Not open for credit to students who have completed ECE 189A or ECE 189B.
This course is the second in the 2-course Computer Science Capstone sequence. Student teams continue their CMPSC 189A effort by evolving their specifications, design, and prototypes of advanced computer science solutions and systems. The students learn about interfaces, software integration, and testing, and prepare advanced demonstrations for public presentation at the end of the sequence.
CMPSC 190AAZZ. Special Topics in Computer Science
(4) STAFF
Prerequisite: Consent of instructor.
Enrollment Comments: May be repeated with consent of department chair.
Provides for the study of topics of current interest in computer science: A. Foundations; B. Software Systems; C. Programming Languages and Software Engineering; D. Information Management; E. Architecture; F. Networking; G. Security; H. Scientific Computing; I. Intelligent and Interactive Systems; N. General.
CMPSC 190A. Special Topics in Computer Science: Foundations
CMPSC 190B. Special Topics in Computer Science: Software Systems
CMPSC 190C. Special Topics in Computer Science: Programming Languages and Software Engineering
CMPSC 190D. Special Topics in Computer Science: Information Management
CMPSC 190DA. Special Topics in Computer Science
CMPSC 190DB. Special Topics in Computer Science
CMPSC 190DC. Special Topics in Computer Science
CMPSC 190DD. Special Topics in Computer Science
CMPSC 190DE. Special Topics in Computer Science
CMPSC 190DF. Special Topics in Computer Science
CMPSC 190E. Special Topics in Computer Science: Architectures
CMPSC 190F. Special Topics in Computer Science: Networking
CMPSC 190G. Special Topics in Computer Science: Security
CMPSC 190H. Special Topics in Computer Science: Scientific Computing
CMPSC 190I. Special Topics in Computer Science: Intelligent and Interactive Systems
CMPSC 190J. Special Topics in Computer Science: General
CMPSC 190K. Special Topics in Computer Science: Computer Systems Modeling and Analysis
CMPSC 190N. Special Topics in Computer Science: General
CMPSC 192. Projects in Computer Science
(1-5) STAFF
Prerequisite: Consent of instructor.
Enrollment Comments: May be repeated to a maximum of 8 units with consent of department chair. Students must have a minimum 3.0 GPA.
Projects in computer science for advanced undergraduate students.
CMPSC 193. Internship in Industry
(1-4) STAFF
Prerequisite: Consent of instructor and department chair.
Enrollment Comments: Not more than 4 units per quarter; may not be applied to science electives. May be repeated with faculty/chair approval to a maximum of 4 units.
Special projects for selected students. Offered in conjunction with selected industrial and research firms and under direct faculty supervision. Written proposal and final report required.
CMPSC 196. Undergraduate Research
(2-4) STAFF
Prerequisite: Students must: (1) have attained upper-division standing (2) have a minimum3.0 grade-point average for preceding three quarters, (3) have consent of instructor.
Enrollment Comments: May be repeated for up to 12 units. No more than 4 units may be applied to departmental electives.
Research opportunities for undergraduate students. Students will be expected to giveregular oral presentations, actively participate in a weekly seminar, and prepare at least one written report on their research.
CMPSC 196B. Undergraduate Research
(2-4) STAFF
Prerequisite: Students must: (1) have taken 4 letter graded units of CMPSC 196, (2) have consent of instructor
Enrollment Comments: Designed for majors. May be repeated for up to 12 units. No more than 4 units may be applied to departmental electives.
Advanced research for undergraduate students, by petition after completing a minimum of 4 units of CMPSC 196 for a letter grade. The student will propose a specific research project and make a public presentation of final results. Evaluation and grade will be based on feedback from faculty advisor and one other faculty member.
CMPSC 199. Independent Studies in Computer Science
(1-5) STAFF
Prerequisite: Upper-division standing; students must have completed at least two upper- division courses in computer science. May be repeated with consent of chair.
Enrollment Comments: Students are limited to five units per quarter and 30 units total in all 198/199 courses combined. Students must have a minimum 3.0 GPA for the preceding three quarters. May not be used for credit towards the major.
Independent studies in computer science for advanced students.
Collapse Courses Graduate 
CMPSC 209. Logic and Applications in Computer Science
(4) SU
Propositional logic, first order logic, completeness, compactness, incompleteness, undecidability; selected topics from finite model theory, theorem proving, logic programming, program verification, databases, computational complexity.
CMPSC 211A. Matrix Analysis and Computation
(4) STAFF,
Prerequisite: Consent of instructor.
Enrollment Comments: Students should be proficient in basic numerical methods, linear algebra, mathematically rigorous proofs, and some programming language. Same course as ECE 210A, ME 210A, Mathematics 206A, Chemical Engineering 211A, and Geology 251A.
Graduate level-matrix theory with introduction to matrix computations. SVD's, pseudoinverses, variational characterization of eigenvalues, perturbation theory, direct and iterative methods for matrix computations.
CMPSC 211B. Numerical Simulation
(4) PETZOLD
Prerequisite: Consent of instructor.
Enrollment Comments: Students should be proficient in basic numerical methods, linear algebra, mathematically rigorous proofs, and some programming language. Same course as ECE 210B, ME 210B, Mathematics 206B, Chemical Engineering 211B, and Geology 251B.
Linear multistep methods and Runge-Kutta methods for ordinary differential equations: stability, order and convergence. Stiffness. Differential algebraic equations. Numerical solution of boundary value problems.
CMPSC 211C. Numerical Solution of Partial Differential Equations--Finite Difference Methods
(4) STAFF,
Prerequisite: Consent of instructor.
Enrollment Comments: Students should be proficient in basic numerical methods, linear algebra, mathematically rigorous proofs, and some programming language. Same course as ECE 210C, ME 210C, Mathematics 206C, Chemical Engineering 211C, and Geology 251C.
Finite difference methods for hyperbolic, parabolic and elliptic PDE's, with application to problems in science and engineering. Convergence, consistency, order and stability offinite difference methods. Dissipation and dispersion. Finite volume methods. Software design and and adaptivity.
CMPSC 211D. Numerical Solution of Partial Differential Equations--Finite Element Methods
(4) STAFF,
Prerequisite: Consent of instructor.
Enrollment Comments: Students should be proficient in basic numerical methods, linear algebra, mathematically rigorous proofs, and some programming language. Same course as ECE 210D, ME 210D, Mathematics 206D, Chemical Engineering 211D, and Geology 251D.
Weighted residual and finite element methods for the solution of hyperbolic, parabolic and elliptical partial differential equations, with application to problems in science and engineering. Error Estimates. Standard and discontinuous Galerkin methods.
CMPSC 216. Level Set Methods
(4) GIBOU
Prerequisite: CMPSC 211C or CH E 211C or ECE 210C or ME 210C.
Enrollment Comments: Same course as CH E 226, ECE 226, and ME 216.
Mathematical description of the level set method and design of the numerical methods used in its implementations (ENO-WENO, Godunov, Lax-Friedrich, etc.). Introduction to the Ghost Fluid Method. Applications in CFD, Materials Sciences, Computer Vision and Computer Graphics.
CMPSC 219. Sparse Matrix Algorithms
(4) GILBERT
Theory, implementation, and applications of sparse matrix algorithms. Direct, iterative, preconditioned, and multilevel methods for solving large, sparse systems of linear equations. Tools include graph theory, linear algebra, and computer architecture; applications range from physical modeling to data mining.
CMPSC 220. Theory of Computation and Complexity
(4) IBARRA
Prerequisite: Computer Science 186.
Topics include: models of computation; time and space complexity classes (e.g., P, NP, CO-NP, and Pspace), efficient reducibilities, complete problems lower bounds; the polynomial hierarchy.
CMPSC 225. Information Theory
(4) VAN DAM
Prerequisite: ECE 139 or equivalent, or PSTAT 120A-B.
Enrollment Comments: Same course as ECE 205.
Entropy, mutual information, and Shannon's coding theorems; lossless source coding, Huffman, Shannon-Fano-Elias, and arithmetic codes; Channel capacity; rate-distortion theory, and lossy source coding; source-channel coding; algorithmic complexity and information; applications of information theory in various fields.
CMPSC 230. Approximations, NP-Completeness and Algorithms
(4) GONZALEZ
Prerequisite: Computer Science 130A-B.
Epsilon approximations, PTAS and FPTAS. Techniques for the design of approximation algrorithms. P, NP, NP-complete problems, polynomial transformations, Turing reductions, strong NP-completeness, NP-hardness and inapproximability results. Topics in algorithms include: amortized analysis, advanced graph algorithms and data structures.
CMPSC 231. Topics in Combinatorial Algorithms
(4) SURI
Prerequisite: Computer Science 130B.
Advanced topics in algorithm design, including network flows, matchings in graphs, linear and integer programming.
CMPSC 235. Computational Geometry
(4) SURI
Prerequisite: Computer Science 130A-B.
Algorithms and lower bound techniques in computational geometry; decision tree models of computation; geometric searching; point location and range search; convex hull and maxima of a point set; proximity algorithms; geometric intersections.
CMPSC 240A. Applied Parallel Computing
(4) GILBERT
Prerequisite: Computer Science 154 and 160.
Interdisciplinary introduction to applied parallel computing on modern supercomputers. Topics include applications-oriented architectural issues, MPI, parallel MATLAB, and parallel numerical algorithms. A course project emphasizes understanding the realities and myths of what is possible on the world's fastest machines.
CMPSC 254. Advanced Computer Architecture
(4) SHERWOOD
Prerequisite: CMPSC 154 or ECE 154.
Advanced instruction set architectures, pipelining, dynamic scheduling, branch prediction, superscalar issue, out-of-order execution, memory-hierarchy design, advanced cache architectures and prefetching. Several real designs are dissected and simulators are developed for performing quantitative evaluations of design decisions.
CMPSC 260. Advanced Topics in Program Analysis
(4) HARDEKOPF
Prerequisite: Computer Science 160 and 162.
Theoretical aspects of translation. Topics include: data flow analysis; control flow analysis; interprocedural analysis; optimization; type systems.
CMPSC 263. Runtime Systems
(4) KRINTZ
Prerequisite: Computer Science 154, 160, and 162.
Recommended Preparation: Conmputer Science 260.
Enrollment Comments: Computer Science 260 recommended.
Topics central to modern programming languages and their implementation: garbage collection; memory system performance; characteristics and optimization of object-oriented languages; type systems and type inference; run-time compilation.
CMPSC 265. Advanced Topics in Machine Intelligence
(4) TURK
Prerequisite: Computer Science 165A.
Enrollment Comments: May be repeated for credit.
Topics covered include advanced programming techniques for representing and reasoning about complex objects and various applications of such techniques, including expert systems, natural language processors, image understanding systems and machine learning.
CMPSC 266. Formal Specification and Verification
(4) KEMMERER
Prerequisite: Computer Science 130A-B; Computer Science 186.
Introduction to existing specification and verification systems, and the underlying theory and techniques of verifying the correctness of algorithms with respect to specifications. This subject can be considered as the combination of specification and verification techniques, programming language semantics and formal logic.
CMPSC 267. Automated Verification
(4) BULTAN
Prerequisite: Computer Science 130A-B and 138.
Covers automated verification algorithms and tools. Topics include: temporal logics, fixpoint characterizations of temporal properties, model checking, symbolic verification, explicit-state verification, verification using automated theorem provers, automated abstraction.
CMPSC 270. Operating Systems
(4) WOLSKI
Prerequisite: Computer Science 170
Develops an understanding of operating systems and operating systems research at both a conceptual level and from an engineering perspective. Fundamental design principles, culled primarily from the research literature, motivate an analysis of previous and current systems. This analysis is further validated through empirical investigation.
CMPSC 271. Advanced Topics in Distributed Systems
(4) EL ABBADI
Prerequisite: cmpsc 170.
Covers the fundamental problems in distributed systems and the various tools used to solve them. Of primary interest is the issue of fault-tolerance. Topics include event ordering, clocks, global states, agreement, fault-tolerance, and peer-to-peer systems.
CMPSC 272. Software Engineering
(4) BULTAN
Principles of software engineering disciplines emphasizing requirements analysis, specification design, coding, testing and correctness proofs, maintenance, and management. Students use a number of software engineering tools.
CMPSC 273. Data and Knowledge Bases
(4) SU
The focus is on the study of relational and post-relational data models and their query languages of different styles (algebraic, calculus, and deductive): complexity, expressive power, optimization, and database design.
CMPSC 274. Advanced Topics in Database Systems
(4) AGRAWAL, EL ABBADI
Prerequisite: Computer Science 170.
Topics include: data models, semantics, data integrity, database design, serializability theory, concurrency control, recovery, distributed databases.
CMPSC 276. Advanced Topics in Networking
(4) BELDING, ZHAO
Prerequisite: Computer Science 176A or 176B.
Focuses on advanced topics in networking. Topics may include, but are not limited to: Internet analysis, routing techniques, multimedia, approaches for network performance enhancements, and communication over new technologies.
CMPSC 279. Advanced Topics in Security
(4) VIGNA
Prerequisite: Computer Science 177.
Security analysis of networked systems. Analysis of techniques for network scanning, spoofing, hijacking, and denial-of-service attacks. Vulnerability analysis of applications and web-based systems. Intrusion detection and prevention techniques.
CMPSC 280. Computer Graphics
(4) HOLLERER
Prerequisite: Computer Science 180.
Special topics in computer graphics including: curves and curved surfaces; visual perception of colors and color models; shading models; shadow generation; texture mapping; solid textures; stereographics; helmet-mounteddisplay; graphics hardware/architecture; solid modeling; physically based modeling; fractals and graphtals; volume rendering; scientific visualization.
CMPSC 281. Advanced Topics in Computer Vision
(4) WANG
Prerequisite: ECE OR CMPSC 181
Enrollment Comments: Same course as ECE 281.
Topics in Computer Vision, including imaging and multi-view geometry; image and video segmentation; object detection, localization, and recognition; video activity recognition; machine learning models and methods applied to computer vision.
CMPSC 281B. Advanced Topics in Computer Vision
(4) TURK, WANG
Prerequisite: ECE OR CMPSC 181
Enrollment Comments: Same course as ECE 281B.
Advanced topics in computer vision: image sequence analysis, spatio-temporal filtering, camera calibration and hand-eye coordination, robot navigation, shape representation, physically-based modeling, regularization theory, multi-sensory fusion, biological models, expert vision systems, and other topics selected from recent research papers.
CMPSC 284. Mobile Computing
(4) BELDING
Prerequisite: Computer Science 176A or 176B.
Recommended Preparation: Computer Science 276.
Focuses on mobile computing. Topics may include, but are not limited to: mobile network characteristics, types of mobile networks, challenges and sollutions in mobile computing, and power conservation techniques.
CMPSC 285. Advanced Image Synthesis
(4) SEN
Prerequisite: Computer Graphics desired but not necessary
Theory and design of rendering systems for high-end image synthesis and modeling physically-based light transport. Topics include REYES-style architectures, Monte Carlo algorithms, variance reduction methods, path tracing, photon mapping, reflection and volumetric light transport. Students must have good software engineering skills.
CMPSC 291AAZZ. Special Topics in Computer Science, Applications
(4) STAFF
Prerequisite: None.
These courses provide for the study of topics of current interest in computer science applications. Topics are coded as follows: A. Applications, General; D. Database and Information Systems; G. Security and Cryptography; H. Computational Science and Engineering; I. Visual Computing and Interaction; K. Machine Learning and Data Mining.
CMPSC 291A. Special Topics in Computer Science, Applications, General
CMPSC 291D. Special Topics in Computer Science, Applications, Database and Information Systems
CMPSC 291G. Special Topics in Computer Science, Applications, Security and Cryptography
CMPSC 291H. Special Topics in Computer Science, Applications, Computational Science and Engineering
CMPSC 291I. Special Topics in Computer Science, Applications, Visual Computing and Interaction
CMPSC 291K. Special Topics in Computer Science, Applications
CMPSC 292AAZZ. Special Topics in Computer Science, Foundations
(4) STAFF
Prerequisite: None.
These courses provide for the study of topics of current interest in computer science foundations. Topics are coded as follows: C, Programming Languages and Software Engineering; F. Foundations, General; G. Security and Cryptography; H. Computational Science and Engineering.
CMPSC 292A. Special Topics in Computer Science, Foundations, Algorithms
CMPSC 292C. Special Topics in Computer Science, Foundations, Programming Languages and Software Engineering
CMPSC 292F. Special Topics in Computer Science, Foundations, General
CMPSC 292G. Special Topics in Computer Science, Foundations
CMPSC 292H. Special Topics in Computer Science, Foundations, Computational Science and Engineering
CMPSC 293AAZZ. Special Topics in Computer Science, Systems
(4) STAFF
Prerequisite: None.
These courses provide for the study of topics of current interest in computer science systems. Topics are coded as follows: B. Operating Systems and Distributed Systems; C, Programming Languages and Software Engineering; D. Database and Information Systems; E. Computer Architecture and Embedded Systems; G. Security and Cryptography; K. Machine Learning and Data Mining; N. Networking; S. Systems, General
CMPSC 293A. Special Topics in Computer Science, Systems
CMPSC 293B. Special Topics in Computer Science, Systems
CMPSC 293C. Special Topics in Computer Science, Systems, Programming Languages and Software Engineering
CMPSC 293D. Special Topics in Computer Science, Systems, Database and Information Systems
CMPSC 293E. Special Topics in Computer Science, Systems, Computer Architecture and Embedded Systems
CMPSC 293G. Special Topics in Computer Science, Systems, Security and Cryptography
CMPSC 293K. Special Topics in Computer Science, Systems, Machine Learning and Data Mining
CMPSC 293N. Special Topics in Computer Science, Systems
CMPSC 293S. Special Topics in Computer Science, Systems, General
CMPSC 501. Techniques of Computer Science Teaching
(1) STAFF
Enrollment Comments: This course is required for new teaching assistants, and may be taken only once. No unit credit allowed toward advanced degree.
An initial 1-2 day workshop on teaching techniques followed by a weekly seminar. Course emphasizes teaching skills, practical experience, and communication skills.
CMPSC 502. Teaching of Computer Science
(1-4) STAFF
Prerequisite: Computer Science 501.
Enrollment Comments: May be taken concurrently with Computer Science 501. No unit credit allowed toward advanced degree.
Procedures and techniques for teaching computer science gained through actual teaching of lecture courses, leading discussion sections, and/or teaching laboratories. Meetings will be held as needed to discuss problems,methods, and procedures.
CMPSC 592. Group Studies: Controls, Dynamical Systems, and Computation
(1) STAFF
Enrollment Comments: Same course as Chemical Engineering 295, ECE 295, and ME 295.
A series of weekly lectures given by university staff and outside experts in the fields of control systems, dynamical systems, and computation.
CMPSC 593. Computer Science Graduate Tutorial
(1-12) STAFF
Prerequisite: Consent of instructor or department chair.
Individual studies exploring topics in computer science with a faculty advisor.
CMPSC 594. Seminar in Computer Science
(1-5) STAFF
Prerequisite: Consent of instructor and advisor.
A seminar course offered on an irregular basis. Provides an in-depth discussion of advanced topics of general interest and broadens the scope ofknowledge in computer science.
CMPSC 595AAZZ. Group Studies in Computer Science
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science: A. Foundations; B. Software Systems; C. Programming Languages and Software Engineering; D. Information Management; E. Architecture; F. Networking; G. Security; H. Scientific Computing; I. Intelligent and Interactive Systems; N. General
CMPSC 595A. Group Studies in Computer Science: Foundations
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595B. Group Studies in Computer Science: Software Systems
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595C. Group Studies in Computer Science: Programming Languages and Software Engineering
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595D. Group Studies in Computer Science
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595E. Group Studies in Computer Science: Architecture
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595F. Group Studies in Computer Science: Networking
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595G. Group Studies in Computer Science: Security
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595H. Group Studies in Computer Science: Scientific Computing
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595I. Group Studies in Computer Science: Intelligent and Interactive Systems
(2) STAFF
Prerequisite: Consent of instructor.
Special seminars focusing on topics of interest to faculty and graduate students. These seminars provide critical review of research in various areas of computer science.
CMPSC 595J. Group Studies in Computer Science: General
(2) STAFF
Prerequisite: Consent of instructor.
Instruction in these variable unit courses may be carried out by lecture, or by laboratory, or by a combination of the two. These courses provide critical review of research in various areas of computer science.
CMPSC 595K. Group Studies in Computer Science: Computer Systems Modeling and Analysis
(2) STAFF
Prerequisite: Consent of instructor.
Instruction in these variable unit courses may be carried out by lecture, or by laboratory, or by a combination of the two. These courses provide critical review of research in various areas of computer science.
CMPSC 595L. Group Studies in Computer Science
(2) STAFF
Prerequisite: Consent of instructor.
Instruction in these variable unit course may be carried out by lecture, or by laboratory, or by a combination of the two. These courses provide critical review of research in various areas of computer science.
CMPSC 595N. Group Studies in Computer Science: Faculty Research Seminar
CMPSC 595R. Group Studies in Computer Science
(2) STAFF
Prerequisite: Consent of instructor.
Enrollment Comments: May be repeated for credit if there is no duplication of course content.
Instruction in these variable unit course may be carried out by lecture, orby laboratory, or by a combination of the two. These courses provide critical review of research in various areas of computer science. See gcmps290AA-ZZ for list of topics. A: artificial intelligence. B: computer graphics. C: pattern recognition. D: program verification. E: computer architectures. F: algorithms and complexity. G: mathematical theory of computation. H: semantic models. I: software systems. J: general. K: computer systems modeling and analysis.
CMPSC 595Z. Group Studies in Computer Science
CMPSC 596. Directed Research
(2-12) STAFF
Research, either experimental or theoretical, may be undertaken by qualified graduate students under the direction of a faculty member.
CMPSC 597. Individual Studies for Master of Science Comprehensive Examinations and Ph.D Examinations
(1-12) STAFF
Enrollment Comments: No unit credit allowed toward advanced degree. Enrollment limited to 24 units per examination. Maximum of 12 units per quarter. S/U grading. Instructor is normally student's major professor or chair of doctoral committee.
Individual studies for M.S. comprehensive examination and Ph.D.
CMPSC 598. Master's Thesis Research and Preparation
(1-12) STAFF
Prerequisite: Consent of graduate advisor.
For research underlying the thesis and writing of the thesis.
CMPSC 599. Ph.D. Dissertation Research and Preparation
(1-12) STAFF
Prerequisite: Consent of chair of student's doctoral committee.
Research and preparation of dissertation.

 
Electrical Computer Engineering
 (
Show All
 | 
Hide All
)
Collapse Courses Lower Division 
ECE 1A. Computer Engineering Seminar
(1) STAFF
Prerequisite: Open to computer engineering majors only.
Introductory seminar to expose students to a broad range of topics in computer engineering.
ECE 1B. Ten Puzzling Problems in Computer Engineering
(1) PARHAMI
Prerequisite: Open to pre-computer engineering and computer engineering majors only.
Repeat Comments: Not open for credit for those who have taken ECE 1
Gaining familiarity with, and motivation to study, the field of computer engineering, through puzzle-like problems that represent a range of challenges facing computer engineers in their daily problem-solving efforts and at the frontiers of research.
ECE 3. INTRODUCTION TO ELECTRICAL ENGINEERING
(4) STAFF
Prerequisite: Open to EE and CMPEN majors only.
Enrollment Comments: Open to EE and CMPEN majors only.
This course represents a comprehensive foundation for core ECE topics in signal processing, image analysis, machine learning, optimization and control. The lectures present concepts from linear algebra, such as matrix computations, systems of linear equations, eigenspace decomposition, inner-product, orthogonality, least-squares and linear regression. Students actively engage with the technical materials with an introduction to Python programming and associated hands-on sessions. The materials are be motivated by real-world scenarios ranging from medical imaging to autonomous vehicles, from (miscarriage of) justice to brain-machine interfaces, from music analysis to GPS design.
ECE 5. Introduction to Electrical & Computer Engineering
(4) STAFF
Prerequisite: Open only to Electrical Engineering and Computer Engineering majors.
Aims at exposing freshmen students to the different sub-fields within Electrical and Computer Engineering. Composed of lectures by different faculty members and a weekly laboratory based on projects that are executed using the Arduino environment.
ECE 6. The Physics of Energy, Information, and Communication
(4) STAFF
Prerequisite: Open to Electrical Engineering majors only.
An introduction to the relationship between the physical nature of matter and modern problems in energy harvesting, energy storage, information storage, and communication. Key emphasis is placed on understanding materials and how materials are used to make functional electronics and photonics. The primary outcome of this course is to enable students to understand the relevance of later Physics, Math, and E&P courses with real-world examples and investigations.
ECE 10A. Foundations of Analog and Digital Circuits & Systems
(3) STAFF
Prerequisite: Mathematics 2A-B or 3A-B or Mathematics 3AH-BH, and Mathematics 4A or 4AI or 3C, all with a minimum grade of C; and, Math 4B or 4BI or 5A with a minimum grade of C (may be taken concurrently); Physics 3 or 23 (may be taken concurrently); open only to electrical engineering and computer engineering majors.
Enrollment Comments: Quarters usually offered: Fall.
Repeat Comments: Not open for credit for those who have received a C- or higher in ECE 2A.
The objective of the course is to establish the foundations of analog and digital circuits. The course will introduce the student to the power of abstraction, resistive networks, network analysis, nonlinear analysis and the digital abstraction.
ECE 10AL. Foundations of Analog and Digital Circuits and Systems Lab
(2) STAFF
Prerequisite: ECE 10A (may be taken concurrently) with a C- or better grade.
Repeat Comments: Not open for credit for those who have received a C- or higher in ECE 2A.
The goal of 10AL is to provide the student with a hands-on application of the concepts discussed in ECE 10A. The lab will introduce the use of microcontrollers as a data acquisition system, network analysis, resistors, nonlinear analysis and digital abstraction.
ECE 10B. Foundations of Analog and Digital Circuits and Systems
(3) STAFF
Prerequisite: ECE 10A with a C- or better grade.
Enrollment Comments: Quarters usually offered: Winter.
Repeat Comments: Not open for credit for those who have received a C- or higher in ECE 2B.
The objective of the course is to introduce the MOSFET both as a simple digital switch and as controlled current source for analog design. The course will cover basic digital design, small-signal analysis, charge storage elements and operational amplifiers.
ECE 10BL. Foundations of Analog and Digital Circuits and Systems Lab
(2) STAFF
Prerequisite: ECE 10B (may be taken concurrently) with a C- or better grade.
Repeat Comments: Not open for credit for those who have received a C- or higher in ECE 2B.
The goal of 10BL is to provide the student with a hands- on application of the concepts discussed in ECE 10B. The lab will utilize the microcontroller to introduce students to the understanding of datasheets for both digital and analog circuits, single-stage amplifier design and basic instrumentation.
ECE 10C. Foundations of Analog and Digital Circuits and Systems
(3) STAFF
Prerequisite: ECE 10B with a C- or better grade.
Enrollment Comments: Quarters usually offered: Spring.
Repeat Comments: Not open for credit for those who have received a C- or higher in ECE 2C.
The objective of the course is to introduce the student to the basics of transient analysis. The course will energy and power dissipation in digital circuits, first-order and second-order linear time invariant circuits, sinusoidal steady state, impedance representation, feedback and resonance.
ECE 10CL. Foundations of Analog and Digital Circuits and Systems Lab
(2) STAFF
Prerequisite: ECE 10C (may be taken concurrently) with a C- grade or better.
Repeat Comments: Not open for credit for those who have received a C- or higher in ECE 2C.
The goal of 10CL is to provide the student with a hands- on application of the concepts discussed in ECE 10C. The lab will utilize the microcontroller to introduce students to the understanding of propagation delay in digital circuits and the resulting power dissipation, first order linear networks, second order linear networks, sinusoidal steady-state, impedance analysis and op-amp circuits.
ECE 15A. Fundamentals of Logic Design
(4) MAREK-SADOWSKA
Prerequisite: Open to electrical engineering, computer engineering, and pre-computer engineering majors only.
Enrollment Comments: Not open for credit to students who have completed ECE 15.
Boolean algebra, logic of propositions, minterm and maxterm expansions, Karnaugh maps, Quine-McCluskey method, melti-level circuits, combinational circuit design and simulation, multiplexers, decoders, programmable logic devices.
ECE 92. Projects in Electrical and Computer Engineering
(4) STAFF
Prerequisite: Consent of instructor.
Enrollment Comments: Designed for majors.
Projects in electrical and computer engineering for advanced undergraduate students.
ECE 94AAZZ. Group Studies in Electrical and Computer Engineering
(1-4) STAFF
Prerequisite: Consent of instructor.
Group studies intended for small number of advanced students who share an interest in a topic not included in the regular departmental curriculum.
ECE 94A. Circuits
ECE 94AA. Micro-electro-mechanical-systems
ECE 94B. Systems Theory
ECE 94BB. Computer Engineering
ECE 94C. Communications Systems
ECE 94CC. Group Studies in Electrical and Computer Engineering
ECE 94D. Control Systems
ECE 94E. Signal Processing
ECE 94F. Solid State
ECE 94G. Fields and Waves
ECE 94H. Quantum Electronics
ECE 94I. Microwave Electronics
ECE 94J. Switching Theory
ECE 94K. Digital Systems Design
ECE 94L. Computer Architecture
ECE 94M. Computer Graphics
ECE 94N. Pattern Recognition
ECE 94O. Microprocessors and Microprocessor-based systems
ECE 94P. Simulation
ECE 94Q. Imaging Systems and Image Processing
ECE 94R. General
ECE 94S. Speech
ECE 94T. Robot Control
ECE 94U. Optoelectronics
ECE 94V. Scientific Computation
ECE 94W. Computer Network
ECE 94X. Distributed Computation
ECE 94Y. Numerical Differential Equations
ECE 94Z. Nanotechnology
ECE 96. Undergraduate Research
(2-4) STAFF
Prerequisite: Consent of instructor. Must have a 3.00 GPA. May be repeated for up to 12 units.
Enrollment Comments: May be repeated for up to 12 units.
Repeat Comments: May be repeated for up to 12 units.
Research opportunities for undergraduate students. students will be expected to give regular oral presentations, actively participate in a weekly seminar, and prepare at least one written report on their research.
Collapse Courses Upper Division 
ECE 120A. Integrated Circuit Design and Fabrication
(4) BOWERS
Prerequisite: ECE 132 with a minimum grade of C-.
Repeat Comments: Not open for credit for those who have taken ECE 124B.
Theory, fabrication, and characterization of solid state devices including P-N junctions, capacitors, bipolar and MOS devices. Devices are fabricated using modern VLSI processing techniques including lithography, oxidation, diffusion, and evaporation. Physics and performance of processing steps are discussed and analyzed.
ECE 120B. Integrated Circuit Design and Fabrication
(4) BOWERS
Prerequisite: Either ECE 120A or ECE 124B with a minimum grade of C- or better in each of the courses.
Repeat Comments: Not open for credit to those who have taken ECE 124C.
Design, simulation, fabrication, and characterization of NMOS integrated circuits. Circuit design and layout is performed using commercial layout software. Circuits are fabricated using modern VLSI processing techniques. Circuit and discrete device electrical performance are analyzed.
ECE 122A. VLSI Principles
(4) BANERJEE
Prerequisite: ECE 152A with a minimum grade of C-.
Repeat Comments: Not open for credit for those who have taken ECE 124A or ECE 123.
Introduction to CMOS digital VLSI design: CMOS devices and manufacturing technology; transistor level design of static and dynamic logic gates and components and interconnections; circuit characterization: delay, noise margins, and power dissipation; combinational and sequential circuits; arithmetic operations and memories.
ECE 122B. VLSI Architecture and Design
(4) BREWER
Prerequisite: ECE 124A or ECE 123 or ECE 122A with a minimum grade of C-.
Repeat Comments: Not open for credit for those who have taken ECE 124D.
Practical issues in VLSI circuit design, pad/pin limitations, clocking and interfacing standards, electrical packaging for high-speed and high-performance design. On-chip noise and crosstalk, clock and power distribution, architectural and circuit design constraints, interconnection limits and transmission line effects.
ECE 123. High-Performance Digital Circuit Design
(4) THEOGARAJAN
Prerequisite: ECE 10A-B-C and ECE 10AL-10BL-10CL or ECE 2A-B-C with a minimum grade of C- in each of those courses; open to both electrical engineering and computer engineering majors only.
Repeat Comments: Not open for credit for those who have taken ECE 124A or ECE 122A.
Introduction to high-performance digital circuit design techniques. Basics of device physics including deep submicron effects; device sizing and logical effort; Circuit design styles; clocking & timing issues; memory & datapath design; Low-power design; VLSI design flows and associated EDA tools.
ECE 125. High Speed Digital Integrated Circuit Design
(4) BANERJEE
Prerequisite: ECE 124A or 137A with a minimum grade of C- (in either).
Advanced digital VLSI design: CMOS scaling, nanoscale issues including variability, thermal management, interconnects, reliability; non-clocked, clocked and self-timed logic gates; clocked storage elements; high-speed components, PLLs and DLLs; clock and power distribution; memory systems; signaling and I/O design; low-power design.
ECE 130A. Signal Analysis and Processing
(4) MADHOW
Prerequisite: Mathematics 4B or 5A with a minimum of grade of C; open to EE and computer engineering majors only.
Analysis of continuous time linear systems in the time and frequency domains. Superposition and convolution. Bilateral and unilateral Laplace transforms. Fourier series and Fourier transforms. Filtering, modulation, and feedback.
ECE 130B. Signal Analysis and Processing
(4) CHANDRASEKARAN
Prerequisite: ECE 130A with a minimum grade of C- or better; open to EE and computer engineering majors only.
Analysis of discrete time linear systems in the time and frequency domains. Z transforms, Discrete Fourier transforms. Sampling and aliasing.
ECE 130C. Signal Analysis and Processing
(4) CHANDRASEKARAN
Prerequisite: ECE 130A-B with a minimum grade of C- in both.
Basic techniques for the analysis of linear models in electrical engineering: Gaussian elimination, vector spaces and linear equations, orthogonality, determinatnts, eigenvalues and eigenvectors, systems of linear differential equations, positive definite matrices, singular value decomposition.
ECE 132. Introduction to Solid-State Electronic Devices
(4) STAFF
Prerequisite: Physics 4 or 24 with a minimum grade of C-; Mathematics 4B or 5A with a minimum grade of C; open to EE and computer engineering majors only.
Electrons and holes in semiconductors; doping (P and N); state occupation statistics, transport properties of electrons and holes; P-N junction diodes; I-V, C-V, and switching properties of P-N junctions; introduction of bipolar transitors, MOSFET's and JFET's.
ECE 133. Introduction to Optimization and Learning
(4) ALIZADEH
Prerequisite: Upper division standing Electrical Engineering and Computer Engineering majors only.
Includes an undergraduate level introduction to the theory of optimization, along with relevant applications of optimization in machine learning and statistics, signal processing, decision making and control.
ECE 134. Introduction to Fields and Waves
(4) DAGLI, YORK
Prerequisite: Physics 3 or 23 with a minimum grade of C-; Mathematics 4B or 4BI or 5A and Mathematics 5B or 6A or 6AI with a minimum grade of C in each; and Mathematics 5C or 6B with a minimum grade of C-; open to EE and computer engineering majors only.
Introduction to applied electromagnetics and wave phenomena in high frequency electron circuits and systems. Waves on transmission- lines, elements of electrostatics and magnetostatics and applications, plane waves, examples and applications to RF, microwave, and optical systems.
ECE 135. Optical Fiber Communications
(4) DAGLI
Prerequisite: ECE 132 and 134 with a minimum grade of C- in both.
Optical fiber as a transmission medium, dispersion and nonlinear effects in fiber transmission, fiber and semiconductor optical amplifiers and lasers, optical modulators, photo detectors, optical receivers, wavelength division multiplexing components, optical filters, basic transmission system analysis and design.
ECE 136A. Introduction to Optics and Photonics
(4) BLUMENTHAL
Prerequisite: PHYS 5 and PHYS 5L, or equivalent.
Fundamentals of optical and photonics including lens theory, basics of imaging, microscopes and telescopes, 2-dimensional Fourier Transforms, optical coherence, interferometry, lasers, laser phase noise and laser linewidth.
ECE 136B. Optics and Imaging
(4) SMITH, SPENCER
Prerequisite: PHYS 5 and PHYS 5L, or equivalent.
Photonics, with an emphasis on imaging: optical design (Zemax), ray transfer matrices, aberrations, scattering, resolution and optical transfer functions, adaptive optics, polarization, laser scanning, ultrafast pulses, detectors, superresolution, and VR/AR.
ECE 136C. Quantum Photonics
(4) MOODY
Prerequisite: PHYS 5 and PHYS 5L, or equivalent.
Introduction to quantum information, fundamentals of quantum photonics, quantum light generation and detection, quantum coherence and superposition, wave-particle duality, qubits, quantum logic, entanglement, quantum measurement.
ECE 137A. Circuits and Electronics I
(4) RODWELL
Prerequisite: ECE 10A-B-C and 10AL-BL-CL or 2A-B-C, 130A and 132 all with a minimum grade of C-; open to EE majors only.
Analysis and design of single stage and multistage transistor circuits including biasing, gain, impedances and maximum signal levels.
ECE 137B. Circuits and Electronics II
(4) RODWELL
Prerequisite: ECE 10C and 10CL or 2C, and ECE 137A with a minimum grade of C- in all; open to EE majors only.
Analysis and design of single stage and multistage transistor circuits at low and high frequencies. Transient response. Analysis and design of feedback circuits. Stability criteria.
ECE 139. Probability and Statistics
(4) ILTIS
Prerequisite: Open to Electrical Engineering, Computer Engineering and pre-Computer Engineering majors only.
Fundamentals of probability, conditional probability, Bayes rule, random variables, functions of random variables, expectation and high-order moments, Markov chains, hypothesis testing.
ECE 141A. Introduction To Nanoelectromechanical and Microelectromechanical Systems(NEMS/MEMS)
(3) PENNATHUR, TURNER
Prerequisite: ME 16 & 17, ME 152A, ME 151A (may be concurrent); or, ECE 130A and 137A with a minimum grade of C- in both.
Introduction to nano- and microtechnology. Scaling laws and nanoscale physics are stressed. Individual subjects at the nanoscale including materials, mechanics, photonics, electronics, and fluidics will be described, with an emphasis on differences of behavior at the nanoscale and real-world examples.
ECE 141B. MEMS: Processing and Device Characterization
(4) PENNATHUR, TURNER
Prerequisite: ME 141A, ME 163 (may be concurrent); or ECE 141A.
Enrollment Comments: Quarters usually offered: Winter.
Lectures and laboratory on semiconductor-based processing for MEMS. Description of key equipment and characterization tools used for MEMS and design, fabrication, characterization and testing of MEMS Emphasis on current MEMS devices including accelerometers, comb drives, micro-reactors and capacitor-actuators.
ECE 142. INTRODUCTION TO POWER ELECTRONICS
(4) YORK
Prerequisite: ECE 132, ECE 134 and ECE 137A with a minimum grade of C- in all; open to EE majors only.
An introduction to modern switched-mode power electronics and associated devices. Covers modern converter/inverter topologies for the control and conversion of electrical power with high efficiency with applications in power supplies, renewable energy systems, lighting, electric/hybrid vehicles, and motor drivers.
ECE 144. Electromagnetic Fields and Waves
(4) YORK
Prerequisite: ECE 134 with a minimum grade of C-.
Waves on transmission lines, Maxwell's equations, skin effect, propagation and reflection of electromagnetic waves, microwave integrated circuit principles, metal and dielectric waveguides, resonant cavities, antennas. Microwave and optical device examples and experience with modern microwave and CAD software.
ECE 145A. Communication Electronics
(5) RODWELL
Prerequisite: ECE 137A-B with a minimum grade of C- in both.
RF/Microwave circuits. Transistor, transmission-line, and passive element characteristics. Transmission-line theory and impedance matching. Amplifier design for maximum available gain. Amplifier stability. Gain compression and power limits. Introduction to noise figure, and to intermodulation distortion.
ECE 145B. Communication Electronics II
(5) YUE
Prerequisite: ECE 145A with a minimum grade of C-; EE majors only.
RF models for CMOS and BJT. Discrete vs. IC implementation. On-chip passive components. LNAs. PAs. T/R switches. Mixers. VCOs. Poly-phase filters Radio link budget. Analog and digital modulation schemes. Introduction to receiver architectures. I&Q modulation. Image-reject architectures.
ECE 145C. Communication Electronics III
(5) YUE
Prerequisite: ECE 145B with a minimum grade of C-.
Modern wireless communication standards. Cellular phone. Wireless LAN. Introduction to multi-access techniques. Advanced modulation schemes. Interference and distortion. Modern transceiver architectures. Direct conversion vs. low IF vs. super-heterodyne. Sub-sampling receiver. Direct polar modulator. Frequency synthesis using PLL.
ECE 146A. Digital Communication Fundamentals
(5) MADHOW
Prerequisite: ECE 130A-B with a minimum grade of C-; open to EE majors only.
Signal and channel models, with emphasis on wireless systems; digital modulation; demodulation basics; statistical modeling of noise, including review of probability theory and random variables.
ECE 146B. COMMUNICATION SYSTEMS DESIGN
(5) MADHOW
Prerequisite: ECE 130A-B and 146A with minimum grades of C-; open to EE majors only.
Optimal demodulation, including signal space geometry; communication performance characterization; advanced wireless communication techniques, including multi-antenna and multicarrier systems; other emerging frontiers in communications.
ECE 147A. Feedback Control Systems - Theory and Design
(5) TEEL
Prerequisite: ECE 130A-B with a minimum grade of C- in each; open to electrical engineering and computer engineering majors only.
Feedback systems design, specifications in time and frequency domains. Analysis and synthesis of closed loope systems. Computer aided analysis anddesign.
ECE 147B. Digital Control Systems - Theory and Design
(5) BYL
Prerequisite: ECE 147A with a minimum grade of C-; open to EE and CE majors only.
Analysis of sampled data feedback systems; state space description of linear systems: observability, controllability, pole assignment, state feedback, observers. Design of digital control systems.
ECE 147C. Control System Design Project
(5) HESPANHA
Prerequisite: ECE 147A or ME 155B or ME 173 with a minimum grade of C-.
Students are required to design, implement, and document a significant control systems project. The project is implemented in hardware or in high-fidelity numerical simulators. Lectures and laboratories cover special topics related to the practical implementation of control systems.
ECE 148. Applications of Signal Analysis and Processing
(4) LEE
Prerequisite: ECE 130A and 130B with a minimum grade of C- in both.
A sequence of engineering applications of signal analysis and processing techniques; in communications, image processing, analog and digital filter design, signal detection and parameter estimation, holography and tomography, Fourier optics, and microwave and acoustic sensing.
ECE 149. Game Theory for Networked Systems
(4) JASON MARDEN
Prerequisite: UPPER DIVISION STANDING OR CONSENT OF INSTRUCTOR.
An overview of game theory with an emphasis on application to multiagent systems. Game theory focuses on the study of systems that are comprised of interacting and possibly competing decision-making entities. Examples drawn from engineered, economics, and social systems.
ECE 150. MOBILE EMBEDDED SYSTEMS
(4) STAFF
Prerequisite: Proficiency in JAVA programming, and a C- in ECE 152A.
Architectures of modern smartphones and their key hardware components including mobile application processors, communications chips, display, touchscreen, graphics, camera, battery, GPS,and various sensors; the OS and software development platform of smartphones; smartphone applications; low power design techniques.
ECE 152A. Digital Design Principles
(5) STAFF
Prerequisite: ECE 15A and ECE 2A or ECE 10A & ECE 10AL with a minimum grade of C- in each course; or Computer Science 30 or 64 with a minimum grade of C- in each course; open to electrical engineering, computer engineering, and computer science majors only.
Design of synchronous digital systems: timing diagrams, propagation delay, latches and flip- flops, shift registers and counters, Mealy/Moore finite state machines, Verilog, 2-phase clocking, timing analysis, CMOS implementation, S-RAM, RAM-based designs, ASM charts, state minimization.
ECE 153A. Hardware/Software Interface
(4) BREWER
Prerequisite: Upper division standing in Computer Engineering, Computer Science and Electrical Engineering. Familiarity with C, Finite Automata, and Computer Architecture.
Enrollment Comments: Same course as Computer Science 153A.
Design and coding of embedded programs. Real-time constraints and management of resources. Practical I/O interfaces and protocols, polling, interrupt maintenance, atomic code, blocking and non-blocking tasks. Static and dynamic task scheduling under real-time and limited resource constraints.
ECE 153B. Sensor and Peripheral Interface Design
(4) STAFF
Prerequisite: ECE 152A with a minimum grade of C-.
Hardware description languages; field-programmable logic and ASIC design techniques. Mixed-signal techniques: A/D and D/A converter interfaces; video and audio signal acquisition, processing and generation, communication and network interfaces.
ECE 154A. Introduction to Computer Architecture
(4) PARHAMI
Prerequisite: ECE 152A with a minimum grade of C-; open to EE and CMPEN majors only.
Enrollment Comments: Not open for credit to students who have completed Computer Science 154. ECE 154A is the formerly numbered ECE 154. Students who have taken ECE 154 and have received a grade of C- or lower may take ECE 154A for a better grade.
Repeat Comments: Students who have taken ECE 154 and have received a grade of C- or lower may take ECE 154A for a better grade.
Instruction-set architecture (ISA) and computer performance; Machine instructions, assembly, addressing modes; Memory map,arrays, pointers; Procedure calls; Number formats; Simple ALUs; Data path,control, microprogram; Buses, I/O programming, interrupts; Pipelined data paths and control schemes.
ECE 154B. Advanced Computer Architecture
(4) STRUKOV
Prerequisite: ECE 154A with a C- grade or better. Open to EE and CMPEN majors only.
Enrollment Comments: Not open for credit to those who have taken Computer Science 154.
ISA variations; Pipeline data and control hazards; Fast ALU design; Instruction-level parallelism, multithreading, VLIW; Vector and array processing, multi/many-core chips; Cache and virtual memory; Disk arrays; Shared- and distributed-memory systems, supercomputers; Reconfigurable and application-specific circuits.
ECE 157A. Machine Learning in Design and Test Automation
(4) LI C. WANG
Prerequisite: ECE 152A with a minimum grade of C-.
Introduces the various machine learning techniques and how they are utilized to improve hardware design and test automation processes. The potential benefits and theoretical barriers for implementing a machine learning solution in practice are explained.
ECE 157B. Artificial Intelligence in Design and Test Automation
(4) LI C. WANG
Prerequisite: ECE 157A with a minimum grade of C-.
Introduces an artificial intelligence system view to apply machine learning in design and test automation processes. The various components for building an Intelligent Engineering Assistant (IEA) to perform an engineering task in an industrial setting are explained.
ECE 158. Digital Signal Processing
(4) GIBSON
Prerequisite: ECE 130A-B with a minimum grade of C-; open to EE majors only.
Recommended Preparation: Mathematics 124A.
Enrollment Comments: Mathematics 124A is recommended but not required.
Digital Signal Processing, with Applications: The Fast Fourier transform, discrete cosine transform, and multirate digital signal processing techniques, with applications to digital cellular communications and wireless access points, and audio, voice, still image, video, and biological signal analysis, recognition and compression.
ECE 160. Multimedia Systems
(4) MANJUNATH
Prerequisite: Upper-division standing; open to electrical engineering, computer engineering, computer science, and creative studies majors only.
Enrollment Comments: Not open for credit to students who have completed CMPSC 182.
Introduction to multimedia and applications, including WWW, image/video databases and video streaming. Covers media content analysis, media data organization and indexing (image/video databases), and media data distribution and interaction (video on-demand and interactive TV).
ECE 162A. The Quantum Description of Electronic Materials
(4) STAFF
Prerequisite: ECE 130A-B and 134 with a minimum grade of C- in all; open to EE, seniors in the BS/MS program and Materials graduate students only.
Enrollment Comments: Same course as Materials 162A.
Electrons as particles and waves, Schrodinger's equation and illustrative solutions. Tunnelling. Atomic structure, the exclusion principle and the periodic table. Bonds. Free electrons in metals, periodic potentials and energy bands.
ECE 162B. Fundamentals of the Solid State
(4) STAFF
Prerequisite: ECE 162A with a minimum grade of C-; open to EE, senior students in the BS/MS programs and Materials graduate students only.
Enrollment Comments: Same course as Materials 162B.
Crystal lattices and the structure of solids, with emphasis on semiconductors. Lattice vibrations. Electronic states and energy bands. Electrical and thermal conduction. Dielectric and optical properties. Semiconductor devices: diffusion, P-N junctions and diode behavior.
ECE 162C. Optoelectronic Materials and Devices
(4) COLDREN
Prerequisite: ECE 162A-B with a minimum grade of C-; open to electrical engineering and materials majors only.
Optical transitions in solids. Direct and indirect gap semiconductors. Luminescence. Excitons and photons. Fundamentals of optoelectronic devices: semiconductor lasers, Led's photoconductors, solar cells, photo diodes, modulators. Photoemission. Integrated circuits.
ECE 178. Introduction to Digital Image and Video Processing
(4) MANJUNATH
Prerequisite: Open to electrical engineering, computer engineering, and computer science majors with upper-division standing.
Basic concepts in image and video processing. Topics include image formation and sampling, image transforms, image enhancement, and image and video compression including JPEG and MPEG coding standards.
ECE 179D. INTRODUCTION TO ROBOTICS: DYNAMICS AND CONTROL
(4) BYL
Prerequisite: ECE 130A or ME 155A (may be taken concurrently).
Enrollment Comments: Same course as ME 179D.
Dynamic modeling and control methods for robotic systems. LaGrangian method for deriving equations of motion, introduction to the Jacobian, and modeling and control of forces and contact dynamics at a robotic end effector. Laboratories encourage a problem-solving approach to control.
ECE 179P. Introduction to Robotics: Planning and Kinematics
(4) BULLO
Prerequisite: ENGR 3; and either ME 17 or ECE 130C (may be taken concurrently). Not open for credit to students who have completed Mechanical Engineering 170A or ECE 181A.
Enrollment Comments: Same course as ME 179P.
Motion planning and kinematics topics with an emphasis on geometric reasoning, programming, and matrix computations. Motion planning: configuration spaces, sensor-based planning, decomposition and sampling methods, and advanced planning algorithms. Kinematics: reference frames, rotations and displacements, kinematic motion models.
ECE 180. INTRODUCTION TO DEEP LEARNING
(4) MANJUNATH
Prerequisite: Open to EE, Computer Engineering and Computer Science with upper-division standing.
Introduction to multilayered neural networks, early models of perceptrons and associative memory; back-propagation learning; convolutional neural networks; recurrent neural networks; attention models; applications to natural language processing and computer vision.
ECE 181. Introduction to Computer Vision
(4) MANJUNATH
Prerequisite: Upper-division standing in Electrical Engineering, Computer Engineering, Computer Science, Chemical Engineering or Mechanical Engineering.
Enrollment Comments: Same course as Computer Science 181.
Repeat Comments: Not open for credit to students who have completed ECE/CMPSC 181B with a grade of C or better. ECE/CMPSC 181 is a legal repeat of ECE/CMPSC 181B.
Overview of computer vision problems and techniques for analyzing the content of images and video. Topics include image formation, edge detection, image segmentation, pattern recognition, texture analysis, optical flow, stereo vision, shape representation and recovery techniques, issues in object recognition, and case studies of practical vision systems.
ECE 183. Nonlinear Phenomena
(4) STAFF
Prerequisite: Physics 105A or Physics 103; or ME 163 or upper-division standing in ECE.
Enrollment Comments: Same course as Physics 106 and ME 169. Not open for credit to students who have completed ECE 163C.
An introduction to nonlinear phenomena. Flows and bifurcations in one and two dimensions, chaos, fractals, strange attractors. Applications to physics, engineering, chemistry, and biology.
ECE 188A. Senior Electrical Engineering Project
(4) BEN-YAACOV
Prerequisite: ECE 130A and ECE 130B with a C- grade or better in both; or ECE 137A and ECE 137B with a C- or better in both.
Student groups design a significant project based on the knowledge and skills acquired in earlier coursework and integrate their technical knowledge through a practical design experience. The project is evaluated through written reports, oral presentations, and demonstrations of performance.
ECE 188B. Senior Electrical Engineering Project
(3) BEN-YAACOV
Prerequisite: ECE 188A with a minimum grade of C-.
Student groups design a significant project based on the knowledge and skills acquired in earlier coursework and integrate their technical knowledge through a practical design experience. The project is evaluated through written reports, oral presentations, and demonstrations of performance.
ECE 188C. Senior Electrical Engineering Project
(3) BEN-YAACOV
Prerequisite: ECE 188B with a minimum grade of C-.
Student groups design a significant project based on the knowledge and skills acquired in earlier coursework and integrate their technical knowledge through a practical design experience. The project is evaluated through written reports, oral presentations, and demonstrations of performance.
ECE 189A. Senior Computer Systems Project
(4) ISUKAPALLI
Prerequisite: ECE 153B; senior standing in Computer Engineering, Computer Science or EE.
Enrollment Comments: Not open for credit to students who have completed Computer Science 189A-B.
Student groups design a significant computer-based project. The focus will be on designing a significant project based on the knowledge and skills acquired in earlier coursework. Groups work independently with interaction among groups via interface specifications and informal meetings. The project is evaluated through successful completion of milestones and individual/group project reports and presentations.
ECE 189B. Senior Computer Systems Project
(4) ISUKAPALLI
Prerequisite: ECE 189A; senior standing in Computer Engineering, Computer Science or ECE.
Enrollment Comments: Not open for credit to students who have completed Computer Science 189A-B.
Student groups design a significant computer-based project. Focus will be on building and implementing an embedded hardware system. Each group works independently. The project is evaluated through project reports, achieving milestones and through successful demonstration of hardware functionality.
ECE 189C. Senior Computer Systems Project
(4) ISUKAPALLI
Prerequisite: ECE 189B; senior standing in Computer Engineering, Computer Science, or EE.
Recommended Preparation: Not open for credit to students who have completed Computer Science A-B.
Repeat Comments: Not open for credit to students who have completed Computer Science A-B.
Student groups design a significant computer-based project. The focus in this course will be on the integration of both hardware and software components. Students continue to work in groups. Apart from project reports and presentations, the evaluation will be based on successful demonstration of both hardware and software aspects of the project.
ECE 192. Projects in Electrical and Computer Engineering
(4) STAFF
Prerequisite: Consent of instructor.
Enrollment Comments: A maximum of 4 units may be used as departmental electives.
Projects in electrical and computer engineering for advanced undergraduate students.
ECE 193. Internship in Industry
(1-8) STAFF
Prerequisite: Consent of department.
Enrollment Comments: Student must have a minimum 3.0 GPA. May not be used as departmental elective. May be repeated to a maximum of 12 units.
Special projects for selected students. Offered in conjunction with engineering practice in selected industrial and research firms, under direct faculty supervision.
ECE 194AAZZ. Special Topics in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor.
Group studies intended for small number of advanced students who share an interest in a topic not included in the regular departmental curriculum.
ECE 194A. Group Studies in Electrical and Computer Engineering
ECE 194AA. Micro-Electro-Mechanical Systems
ECE 194B. Group Studies in Electrical and Computer Engineering
ECE 194BB. Computer Engineering
ECE 194C. Group Studies in Electrical and Computer Engineering
ECE 194CC. Special Topics in Electrical and Computer Engineering
ECE 194D. Special Topics in Electrical and Computer Engineering
ECE 194E. Group Studies in Electrical and Computer Engineering
ECE 194F. Group Studies in Electrical and Computer Engineering: Solid State
ECE 194G. Group Studies in Electrical and Computer Engineering
ECE 194J. Special Topics in Electrical and Computer Engineering
ECE 194K. Special Topics in Electrical and Computer Engineering
ECE 194M. Special Topics in Electrical and Computer Engineering
ECE 194N. Special Topics in Electrical and Computer Engineering
ECE 194O. Group Studies in Electrical and Computer Engineering
ECE 194P. Special Topics in Electrical and Computer Engineering
ECE 194Q. Special Topics in Electrical and Computer Engineering
ECE 194R. Group Studies in Electrical and Computer Engineering
ECE 194T. Group Studies in Electrical and Computer Engineering: Robot Control
ECE 194U. Group Studies in Electrical and Computer Engineering
ECE 194V. Special Topics in Electrical and Computer Engineering
ECE 194W. Group Studies in Electrical and Computer Engineering
ECE 194Z. Nanotechnology
ECE 196. Undergraduate Research
(2-4) STAFF
Prerequisite: Students must: (1) have attained upper division standing, (2) have a minimu3.0 grade-point average for preceding three quarters, (3) consent of instructor.
Enrollment Comments: May be repeated for up to 12 units. Not more than 4 units may be applied todepartmental electives.
Research opportunities for undergraduate students. students will be expected to give regular oral presentations, actively participate in a weekly seminar, and prepare at least one written report on their research.
ECE 199. Independent Studies in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor; upper-division standing; completion of 2 upper-diviscourse in Electrical and Computer Engineering.
Enrollment Comments: Students must have a minimum 3.0 GPA for the preceding 3 quarters and are limited to five units per quarter and 30 units total in all 98/99/198/199DC/199RA courses combined.
Directed individual study, normally experimental.
Collapse Courses Graduate 
ECE 201A. Electromagnetic Theory I
(4) STAFF
Prerequisite: ECE 144.
Basic concepts in electromagnetic theory, energy power, plane waves, guided waves, dielectric and metallic waveguides, radiation, uniqueness, image theory, reciprocity, duality, equivalence principle, induction theorem.
ECE 203. THz Science, Technology, and Systems
(4) BROWN
Recommended Preparation: ECE 144, ECE 162A, ECE 145A or ECE 218A, and ECE 146A.
Interaction of THz radiation with three states of matter; electron device behavior at THz frequencies; quasi-optical methods and Gaussian beams; RF sensor theory and THz transceiver design; photonic methods (ultrafast photoconductive devices, quantum cascade lasers, etc); systems and applications (spectroscopy, radiometry, imaging).
ECE 205. Information Theory
(4) ROSE
Prerequisite: ECE 139, or PSTAT 120A-B or equivalent.
Enrollment Comments: Same course as Computer Science 225.
Entropy, mutual information, and Shannon's coding theorems; lossless source coding, Huffman, Shannon-Fano-Elias, and arithmetic codes; channel capacity; rate-distortion theory, and lossy source coding; source-channel coding; algorithmic complexity and information; applications of information theory in various fields.
ECE 210A. Matrix Analysis and Computation
(4) CHANDRASEKARAN,
Prerequisite: Consent of instructor.
Enrollment Comments: Students should be proficient in basic numerical methods, linear algebra, mathematically rigorous proofs, and some programming language. Same course as Computer Science 211A, Mathematics 206A, ME 210A, Chemical Engineering 211A, and Geology 251A.
Graduate level-matrix theory with introduction to matrix computations. SVD's, pseudoinverses, variational characterization of eigenvalues, perturbation theory, direct and iterative methods for matrix computations.
ECE 210B. Numerical Simulation
(4) STAFF,
Prerequisite: Consent of instructor.
Enrollment Comments: Students should be proficient in basic numerical methods, linear algebra, mathematically rigorous proofs, and some programming language. Same course as Computer Science 211B, Mathematics 206B, ME 210B, Chemical Engineering 211B and Geology 251B.
Linear multistep methods and Runge-Kutta methods for ordinary differential equations: stability, order and convergence. Stiffness. Differential algebraic equations. Numerical solution of boundary value problems.
ECE 210C. Numerical Solution of Partial Differential Equations--Finite Difference Methods
(4) STAFF,
Prerequisite: Consent of instructor.
Enrollment Comments: Students should be proficient in basic numerical methods, linear algebra, mathematically rigorous proofs, and some programming language. Same course as Computer Science 211C, Mathematics 206C, ME 210C, Chemical Engineering 211C and Geology 251C.
Finite difference methods for hyperbolic, parabolic and elliptic PDE's, with application to problems in science and engineering. Convergence, consistency, order and stability of finite difference methods. Dissipation and dispersion. Finite volume methods. Software design and adaptivity.
ECE 210D. Numerical Solution of Partial Differential Equations--Finite Element Methods
(4) STAFF,
Prerequisite: Consent of instructor.
Enrollment Comments: Students should be proficient in basic numerical methods, linear algebra, mathematically rigorous proofs, and some programming language. Same course as Computer Science 211D, Mathematics 206D, ME 210D, Chemical Engineering 211D and Geology 251D.
Weighted residual and finite element methods for the solution of hyperbolic, parabolic and elliptic partial differential equations, with application to problems in science and engineering. Error estimates. Standard and discontinuous Galerkin methods.
ECE 211A. Engineering Quantum Mechanics I
(4) STAFF
Prerequisite: ECE 162A-B. Students must have some knowledge of linear algebra.
Enrollment Comments: Same course as Materials 211A.
Wave-particle duality; bound states; uncertainty relations; expectation values and operators; variational principle; eigenfunction expansions; perturbation theory I. Treatment matches needs and background of ECE and Materials students emphasizing solid state or quantum electronics.
ECE 211B. Engineering Quantum Mechanics II
(4) STAFF
Prerequisite: ECE 211A or MATRL 211A, or ECE 215A or MATRL 206A.
Enrollment Comments: Same course as Materials 211B.
Continutation of ECE 211A; symmetry and degeneracy; electrons in crystals, angular momentum; perturbation theory II; transition probabilites; quantized fields and radiative transitions; magnetic fields; electron spin;indistinguishable particles.
ECE 215A. Fundamentals of Electronic Solids I
(4) BROWN
Prerequisite: ECE 162A or 162B.
Enrollment Comments: Same course as Materials 206A.
Introduction into the physics of semiconductors, for beginning engineering graduate students. Crystal structure. Reciprocal lattice and crystal diffraction. Electrons in periodic structures. Energy and bands. Semiconductor electrons and probes, fermi statistics.
ECE 215B. Fundamentals of Electronic Solids II
(4) STAFF
Prerequisite: ECE 162A, 162B, or consent of instructor.
Enrollment Comments: Same course as Materials 206B.
Phonos, electron scattering, electroni transport, selected optical properties, heterostructures, effective mass, quantum wells, two-dimensional electron gas, quantum wires, deep levels, crystal binding.
ECE 216. Defects in Semiconductors
(3) STAFF
Prerequisite: ECE 162A-B.
Enrollment Comments: Same course as Materials 216.
Structural and electronic properties of elementar defects in semiconductors. Point defects and impurity complexes. Deep levels. Dislocations and grain boundary electronic properties. Measurement techniques for radiative and nonradiative defect centers.
ECE 217. Molecular Beam Epitaxy and Band Gap Engineering
(3) STAFF
Prerequisite: ECE 162A-B and 213, or consent of instructor.
Enrollment Comments: Same course as Materials 217.
Fundamentals and recent research developmnets in the growth and properties of thin crystalline films of electronic and optical materials bythe process of molecular beam epitaxy. Artificially structured materials with quantized electron confinement and artificially engineered electronic band structure properties.
ECE 218A. Communication Electronics
(5) RODWELL
Prerequisite: ECE 137A-B or equivalents.
RF/Microwave circuits. Transistor, transmission-line, and passive element characteristics. Transmission-line theory and impedance matching. Amplifier design for maximum available gain. Amplifier stability. Gain compression and power limits. Introduction to noise figure, and to intermodulation distortion.
ECE 218B. Communication Electronics II
(5) YUE
Prerequisite: ECE 218A.
RF models for CMOS and BJT. Discrete vs. IC implementation. On-chip passive components. LNAs. PAs. T/R switches. Mixers. VCOs. Poly-phase filters Radio link budget. Analog and digital modulation schemes. Introduction to receiver architectures. I&Q modulation. Image-reject architectures.
ECE 218C. Communication Electronics III
(5) YUE
Prerequisite: ECE 218B.
Modern wireless communication standards. Cellular phone. Wireless LAN. Introduction to multi-access techniques. Advanced modulation schemes. Interference and distortion. Modern transceiver architectures. Direct conversion vs. low IF vs. super-heterodyne. Sub-sampling receiver. Direct polar modulator. Frequency synthesis using PLL.
ECE 219. CMOS & RF INTEGRATED CIRCUIT DESIGN
(4) YUE
Prerequisite: ECE 137A and 137B.
Recommended Preparation: ECE 145A/218A and ECE 145B/218B.
Covers the design and analysis of radio-frequency integrated systems at the transistor level using state-of-the-art CMOS technology. Focuses on system-level trade-offs in transceiver design, practical RF circuit techniques, and physical understanding for device parasitics.
ECE 220A. Semiconductor Device Processing
(4) STAFF
Prerequisite: ECE 132 or equivalent.
Enrollment Comments: Same course as Materials 215A.
Intensive theoretical and laboratory instruction in solid-state device and integrated circuit fabrication. Topics include 1) semiconductor material properties and characterization; 2) phase diagrams; 3) diffusion; 4) thermal oxidation; 5) vacuum processes; 6) thin-film deposition; 7) scanning electron microscopy. Both gallium arsenide and silicon technologies are presented.
ECE 220B. Semiconductor Device Processing
(4) STAFF
Prerequisite: Consent of instructor, or ECE 220A.
Enrollment Comments: Same course as Materials 215B.
Continued theoretical and laboratory instruction in the fundamentals, the design, the fabrication, and the characterization of junction and field-effect devices. Topics will include bipolar characterization, design,fabrication, and testing. The laboratory effort initiated in ECE 220A will be continued in these quarters.
ECE 220C. Semiconductor Device Processing
(4) STAFF
Prerequisite: Consent of instructor, or ECE 220A.
Enrollment Comments: Same course as Materials 215C.
Continued theoretical and laboratory instruction in the fundamentals, the design, the fabrication, and the characterization of junction and field-effect devices. Topics will include bipolar characterization, design,fabrication, and testing. The laboratory effort initiated in ECE 220A will be continued in ECE 220B-C.
ECE 221A. Semiconductor Device Physics I
(4) MISHRA
Prerequisite: ECE 132 and 162A-B.
Band diagrams of P-N junctions and heterjunctions; current flow by drift and diffusion; bipolar transistors; recombination and generation. Schottky barriers; heterostructures.
ECE 221B. Semiconductor Device Physics II
(4) MISHRA
Prerequisite: ECE 215A or equivalent and ECE 221A.
More advanced continuation of ECE 221A: field effect transistors, quantum wells and superlattices; tunneling; avalanche breakdown; physical limitations of bipolar and field effect transistors; two-dimensional current flow problems.
ECE 223. High-Performance Digital Circuit Design
(4) THEOGARAJAN
Prerequisite: ECE 2A-B-C with a minimum grade of C- in all.
Introduction to high-performance digital circuit design techniques. Basics of device physics including deep submicron effects; device sizing and logical effort; Circuit design styles; clocking & timing issues; memory & datapath design; Low- power design; VLSI design flows and associated EDA tools.
ECE 224A. VLSI Project Design
(4) BREWER
Prerequisite: ECE 124A or equivalent and ECE 124D/256C
Design, planning and layout of a CMOS/Mixed-Signal VLSI Integrated Circuit for fabrication, characterization and test. Layout rules, topological, and physical issues in the design of integrated systems. Student teams plan, design and test a VLSI project.
ECE 225. High Speed Digital Integrated Circuit Design
(4) STAFF
Prerequisite: ECE 124A or ECE 137A.
Advanced digital VLSI design: CMOS scaling, nanoscale issues including variability, thermal management, interconnects, reliability; non-clocked, clocked and self-timed logic gates; clocked storage elements; high-speed components, PLLs and DLLs; clock and power distribution; memory systems; signaling and I/O design; low-power design.
ECE 226. Level Set Methods
(4) GIBOU
Prerequisite: CMPSC 211C or CH E 211C or ECE 210C or ME 210C.
Enrollment Comments: Same course as CH E 226, CMPSC 216, and ME 216.
Mathematical description of the level set method and design of the numerical methods used in its implementations (ENO-WENO, Godunov, Lax-Friedrich, etc.). Introduction to the Ghost Fluid Method. Applications in CFD. Materials Sciences, Computer Vision and Computer Graphics.
ECE 227A. Semiconductor Lasers I
(4) COLDREN
Prerequisite: ECE 162A-B-C, or MATRL 162A-B and ECE 162C, or ECE 144.
Review of semiconductor physics, growth technology, and materials properties; double-heterostructure and quantum-well laser structures; carrier and photon rate equations; light vs. current characteristics; scattering and transmission matrices; compound cavity, distributed bragg reflector, and distributed feedback lasers.
ECE 227B. Semiconductor Lasers II
(4) COLDREN
Prerequisite: ECE 227A or MATRL 268A, or ECE 215A or MATRL 206A.
Gain and spontaneous emission vs. injection current in semiconductors; nonradiative recombination; strained-layer quantum wells. Dynamic characteristics of lasers including differential and large signal analysis of the rate equations; relative intensity noise and linewidth; carrier transport and feedback effects.
ECE 227C. Photonic Integrated Circuits
(4) STAFF
Prerequisite: ECE 227A-B.
Perturbation and coupled-mode analysis; DFB lasers revisted; directional couplers; modal excitaton. Dielectric waveguide analysis techniques; waveguide radiation losses. Photonic integrated circuit examples, includingtunable lasers with in-line gratings and contra- and co- directional couplers; ring lasers; numerical analysis techniques.
ECE 228A. Fiber Optic Communications
(4) BOWERS
Prerequisite: ECE 162A-B-C, 144, 135.
Optical fiber structures and guided modes. Effect of dispersion, attenuation and fiber, nonlinearities. Basic transmission design including loss and rise time budgets. Optical transmission system essentials and requirements. Introduction to WDM and TDM components and technologies.
ECE 228B. Fiber Optic Components and Systems
(4) BOWERS
Prerequisite: ECE 228A.
Photodetector design and receiver characteristics. Optical transmitters, optical amplifiers, optical isolators, optical switches, wavelength converters, regenerators, optical multiplexers and demultiplexers. Advanced transmission link design and performance including bit error rate and signal to noise ratio and fiber transmission impairments.
ECE 228C. Optical Circuits, Systems and Networks
(4) BOWERS
Prerequisite: ECE 228A & ECE 228B, or equivalent.
Covers analysis and properties of complex optical circuits with and without optical feedback; basics of queueing systems, with applications to optical transmission, switching and interconnect systems; and blocking and nonblocking optical switching and interconnect systems.
ECE 229. Hybrid Systems
(4) HESPANHA
Prerequisite: Graduate standing in Mechanical Engineering, Chemical Engineering, Electric& Computer Engineering, or Computer Science.
Recommended Preparation: ECE 147A or similar.
Introduction to systems that combine continuous dynamics with discrete logic. Topics include a modeling framework that combines elements from automata theory and differential equations, simulations tools, analysis and design techniques for hybrid systems and applications of hybrid control systems.
ECE 230A. Linear Systems I
(4) KOKOTOVIC, BAMIEH
Prerequisite: ECE 210A.
Enrollment Comments: Same course as Mechanical Engineering 243A.
Internal and external descriptions. Solution of state equations. Controllability and observability realizations. Pole assignment, observers;modern compensator design. Disturbance localization and decoupling. Least-squares control. Least-squares estimation; kalman filters; smoothing,the separation theorem; LQG compensator design. Computational considerations. Selected additional topics.
ECE 230B. Linear Systems II
(4) KOKOTOVIC, BAMIEH
Prerequisite: ECE 140; and, ECE 230A or 243A; and ECE 210A.
Enrollment Comments: Same course as Mechanical Engineering 243B.
Internal and external descriptions. solution of state equations. Controllability and observability realizations. Pole assignment, observers;modern compensator design. Disturbance localization and decoupling. Least-squares control. Least-squares estimation; Kalman filters; smoothing,the separation theorem; LQG compensator design. Computational considerations. Selected additional topics.
ECE 231. Algorithmic Game Theory
(4) MARDEN
Prerequisite: ECE 149 or ECE 270 or Instructor's consent
Algorithmic game theory (AGT) is an area at the intersection of game theory and computer science, with the objective of analyzing and designing algorithms in strategic environments. The class covers recent advances in algorithm game theory, with specific emphasis on applications to engineering systems.
ECE 232. Introductory Robust Control with Applications
(4) STAFF
Prerequisite: ECE 230A or ME 255A; and, ECE 230B or ME 243B (may be taken concurrently).
Enrollment Comments: Same course as Mechanical Engineering 256.
Robust Control theory; uncertainty modeling; stabilty of systems in the presence of norm-bounded perturbations; induced norm performance problems; structured singular value analysis; H-infinity control theory; model reduction; computer simulation based design projectinvolving practical problems.
ECE 234. Modeling, Identification, and Validation for Control
(4) SMITH
Prerequisite: ECE 230A.
Parametric and non-parametric models, open and closed-loop identification, bias and variance effects, model order selection, probing signal design, subspace identification, closed-loop probing, autotuning, model variation, iterative identification and design.
ECE 235. Stochastic Processes in Engineering
(4) STAFF
Prerequisite: ECE 139 or equivalent. Graduate standing.
A first-year graduate course in Stochas TIC processes, including: review of basic probability; gaussian, poisson, and Weiner processes; wide-sense stationary processes; covariance function and power spectral density; linear systems driven by random inputs; basic Wiener and Kalman filter theory.
ECE 236. Nonlinear Control Systems
(4) KOKOTOVIC, TEEL
Recommended Preparation: ECE 230A.
Enrollment Comments: Same course as Mechanical Engineering 236.
Analysis and design of nonlinear control systems. Focus on Lyapunov stability theory, with sufficient time devoted to contrasts between linear and nonlinear systems, input-output stability and the describing function method.
ECE 238. Advanced Control Design Laboratory
(4) STAFF
Prerequisite: ME 243A/ECE 230A and at least one class among the following: ME 243B/ECE 230B, ME 236/ECE 236, ME 256/ECE 232, or ME 254/ECE 271C.
A laboratory course requiring students to design and implement advanced control systems on a physical experiment. Experiments from any engineering or scientific discipline are chosen by the student.
ECE 240. Optimal Estimation and Filtering
(4) STAFF
Prerequisite: ECE 139 or equivalent.
Repeat Comments: Not open for credit for those who have taken ECE 240A.
Optimal estimation concepts and theory (minimum variance, least squares, and maximum likelihood estimation), optimal recursive algorithms for discrete- and continuous-time filtering of noisy signals and data. Wiener and Kalman filters, stability of recursive optimal filtering algorithms, modeling errors in recursive filters.
ECE 241. Multimedia Compression
(4) GIBSON
Prerequisite: ECE 139 or 235; and ECE 158.
Enrollment Comments: Not open for credit to students who have completed Media Arts and Technology 221.
Covers the principle standards of speech, audio, still image and video compression with emphasis on system performance, key underlying algorithms and technologies, current applications and the projected future evolution of the standards.
ECE 242. Digital Signal Compression
(4) ROSE
Prerequisite: ECE 139 or 235.
Principles and techniques of signal compression systems. Basic quantizationtheory, linear prediction, predictive coding, transform and subband coding, entropy coding, and vector quantization. Techniques and algorithms for efficient trade-offs between fidelity, bit-rate, and complexity. applications to speech, audio, image and video.
ECE 243A. Digital Communication Theory
(4) SHYNK
Prerequisite: ECE 146B.
Review of probability and random waveforms, optimum receiver principles, efficient signaling, bounds on error probability, convolutional coding, channel capacity; emphasis on geometric approach to signal description.
ECE 243B. Advanced Digital Communication Theory
(4) SHYNK
Prerequisite: ECE 243A.
Bandlimited channels and optimum receiver for ISI channels; linear, decision-feedback, blind, and adaptive equalization; multichannel and multicarrier systems; spread-spectrum signals; direct sequence and frequency hopped; fading multipath channels and diversity techniques; multiuser communications.
ECE 245. Adaptive Filter Theory
(4) STAFF
Prerequisite: ECE 139, 158, and 130C or equivalent.
Theory and analysis of adaptive filters. Optimal filtering, linear prediction, method of least squares. Steepest-descent and newton search methods, gradient estimation, LMS adaptive algorithm, recursive least squares. Gradient and least squares lattice algorithms for joint-process estimation. Convergence analysis, stability conditions, time constants, misadjustment.
ECE 248. Kalman and Adaptive Filtering
(4) STAFF
Prerequisite: ECE 210A, 230A, and 235 (may be taken concurrently).
Least-squares estimation for processes with state-space models, Wiener filters and spectral factorization. Kalman filters, smoothing and square-root algorithms. Steady-state filters. Extended Kalman filters for non-linear models. Fixed-order and order-recursive adaptive filters.
ECE 250. Wireless Communication and Networking
(4) RODOPLU
Prerequisite: ECE 146A or equivalent.
Overview of wireless networks, characteristics of wireless medium, physical layer operation (spread spectrum, UWB, OFDM, adaptive modulation, MIMO channel), cellular planning, mobility management, energy-efficient networking, GSM, CDMA, wireless LANs, ad hoc networks, wireless geolocation systems.
ECE 251. MOBILE EMBEDDED SYSTEMS
(4) STAFF
Prerequisite: Proficiency in JAVA programming, and a C- in ECE 152A.
Architectures of modern smartphones and their key hardware components including mobile application processors, communications chips, display, touchscreen, graphics, camera, battery, GPS,and various sensors; the OS and software development platform of smartphones; smartphone applications; low power design techniques.
ECE 252B. Computer Arithmetic
(4) STAFF
Prerequisite: ECE 152A-B.
Standard and unconventional number representations. Design of fast two-operand and multi-operand adders. High-speed mulitplication and division algorithms. Floating-point numbers, algorithms, and errors. Hardware algorithms for function evaluation. Pipelined, digit-serial, and fault-tolerant arithmetic processors.
ECE 253. Embedded System Design
(4) BREWER
Design and application of embedded computing systems, particular attention paid to computation system design in highly constrained environments. System synthesis and modeling techniques including partitioning, scheduling, control and data flow analysis and functional representation. Embedded project design.
ECE 254A. Advanced Computer Architecture: Processor Design
(4) MELLIAR-SMITH
Prerequisite: ECE 154.
Design and application aspects of high-performance uniprocessors and shared memory multiprocessors. Memory design issues: cache memories, address translation, shared memory buses and switches, transactional memory. Processor design issues: instruction sets, pipelining, vector processing, superscalar instruction dispatch, speculative execution, multicore processors.
ECE 254B. Advanced Computer Architecture: Parallel Processing
(4) STAFF
Prerequisite: ECE 254A or ECE 154B.
The nature of concurrent computations. Idealized models of parallel systems. Practical realization of concurrency. Interconnection networks. Building-block parallel algorithms. Algorithm design, optimality, and efficiency. Mapping and scheduling of computations. Example mulitprocessors and multicomputers.
ECE 254C. Advanced Computer Architecture: Distributed Systems
(4) STAFF
Prerequisite: ECE 254A.
Multicomputers and distributed architectures. Message-based asynchronous computations. Distributed algorithms and their performance. Hardware issues: nodes, links, and communication mechanisms. Control issues: synchronization, global state determination, distributed consensus, fault tolerance. Software issues: operating systems and languages.
ECE 254D. ADVANCED COMPUTER ARCHITECTURE: MEMORY-CENTRIC COMPUTING
(4) XIE
Prerequisite: ECE 154A & ECE 154B
Design and application aspects of advanced computer architecture with emerging technologies, with a focus on memory-centric computing architecture design with three-dimensional (3D) integration and emerging memory technologies, for emerging applications such as hardware accelerator for machine learning and neuromorphic computing.
ECE 255A. VLSI Testing Techniques
(4) STAFF
Prerequisite: ECE 152A; knowledge of C language, data structures, and algorithms.
Concepts, algorithms and design techniques for VLSI testing. Fault modeling, fault simulation, automatic test generation, design for testability, built-in self test, testability analysis, delay testing and synthesis for testability.
ECE 255B. VLSI Design Validation
(4) WANG
Prerequisite: ECE 255A, knowledge of C language, data structures, and algorithms; and consent of instructor.
Theories and concepts in verification. Verification tools and methodologies. Functional verification, equivalence checking, symbolic simulation, error modeling, verification coverage, silicon debug, on-chip validation, test and verification.
ECE 256A. Introduction to Design Automation
(4) STAFF
Prerequisite: Knowledge of C programming language.
Overview of physical level design automation. Partitioning, placement, routing and structured design of VLSI and pc-board structures. Techniques will include graph theoretic algorithms, integer linear programming, force-directed and simulated annealing neuristics.
ECE 256C. Advanced VLSI Architecture and Design
(4) STAFF
Prerequisite: ECE 124A or equivalent or ECE 256A or 256B
Large scale VLSI design with attention to performance constraints in real-world designs. Topics include: circuit modeling, communication parasitics, architecture optimization, and packaging. Large scale project will be fabricated using silicon compilation tools.
ECE 256D. Algorithmic Logic Synthesis
(4) MAREK-SADOWSKA
Prerequisite: ECE 15A or equivalent undergraduate logic design course.
Algorithmic extension of logic synthesis and techniques. Topics covered include: two and multilevel minimization, technology mapping, logic partitioning, timing optimization, ATPG techniques in logic synthesis, incremental network restructuring, functional decomposition, BDD representation of logic functions, and SAT techniques.
ECE 257A. Fault Tolerant Computing
(4) STAFF
Prerequisite: ECE 152A-B.
Basic concepts of dependable computing. Reliability of nonredundant and redundant systems. Dealing with circuit-level defects. Logic-level fault testing and tolerance. Error detection and correction. Diagnosis and reconfiguration for system-level malfunctions. Degradation management. Failure modeling and risk assessment.
ECE 258. Multirate Digital Signal Processing
(4) GIBSON
Prerequisite: ECE 158 and ECE 258A.
Multirate digital signal processing techniques for the analysis, synthesis, and representation of signals, including decimators and interpolators, polyphase decompositions, subband decompositions, analysis and synthesis filter banks, quadrature mirror filter banks, relationship to orthogonal transforms, and wavelet transforms.
ECE 259A. Digital Speech Processing
(4) RABINER
Prerequisite: ECE 158 or 242.
Speech sounds, acoustic phonetics, speech production and perception. Digital filter modeling of the vocal tract as a lossless tube. Short-time characteristics of speech in the time and frequency domains. Waveform and linear predictive coding of speech. Speech synthesis and recognition.
ECE 259B. Fundamentals of Speech Recognition
(4) RABINER
Prerequisite: ECE 158.
Course covers the fundamental design principles of automatic speech recognition systems, including speech detection, time alignment and normalization (including dynamic time warping methods), distortion measures, the Hidden Markov Model (HMM), grammar networks and the use of Finite State Network representations. (offered alternate years)
ECE 260A. Principles of Quantum Electronics
(4) STAFF
Prerequisite: ECE 144 or 162C.
Energy levels in atoms, ions, and molecules. Interaction between radiation and quantized systems. Stimulated emission devices. Optical resonators. Lasers.
ECE 261. INTRODUCTION TO NANOPHOTONICS
(4) SCHULLER
Enrollment Comments: OPEN TO ALL GRADUATE STUDENTS IN SCIENCE, TECHNOLOGY AND ENGINEERING DISCIPLINES.
Covers the fundamentals of Nanophotonics. Focuses on reading and evaluating contemporary literature on nanophotonics research. Students work within 3- person groups to read and understand seminal papers in this area. Once a week a group is chosen at random to lead an in-class discussion on the paper(s) assigned for that week. Example topics include surface plasmons, near-field microscopy, Purcell enhancements, photonic crystals, multipole expansions, and metamaterials.
ECE 262. Physics of Solar Cells
(4) SCHULLER
Enrollment Comments: OPEN TO GRADUATE STUDENTS IN THE SCIENCE, TECHNOLOGY AND ENGINEERING DISCIPLINES.
Covers the fundamentals of Solar Cells, building to an understanding of next- generation Solar Cell concepts. Focuses on reading and evaluating contemporary literature on Solar Cell research. Students work within 3-person groups to read and understand seminal papers in Solar Cell research. Once a week a group is chosen at random to lead an in-class discussion on the paper(s) assigned for that week. Example topics include: perovskite, quantum dot, hot electron, or intermediate band solar cells, multiple exciton generation, thermal photovoltiacs, light trapping, efficiency limits, etc.
ECE 265. ELECTRONIC AND PHOTONIC INTEGRATION AND PACKAGING
(4) SCHOW
Prerequisite: Knowledge of photonic (ECE 227A/B) and electronic (ECE 221A) devices and basics of fiber optic links (ECE 228A/B) preferable, but not required.
Recommended Preparation: Knowledge of photonic (ECE 227A.B) and electronic (ECE 221A) devices and basics of fiber optic links (ECE 228A,B) preferable, but not required.
Focus on the integration of electronics and photonics to realize functional subsystems. High-speed link design and performance verification, characterization of high-speed signals, data encoding, equalization techniques, equivalent circuit models for photonic devices and packages, co-simulation of circuits and photonic devices.
ECE 267. Confined Electrons and Photons in Semiconductor Structures
(3) PETROFF
Prerequisite: Materials 162A-B or ECE 162A-B.
Enrollment Comments: Same course as Materials 267.
The properties of 1D, 2D and 3D confined electrons in semiconductor are reviewed. Properties of photons in microcavities and photonic crystals are introduced. Applications of photonic crystals to light extraction and modifications of the emitter properties are developed.
ECE 269. Network Systems: Dynamics and Control
(4) BULLO
Motivating socio/economic networks, power grids, multi- agent robotics. Perron- Frobenius matrix theory and algebraic graph theory. Fundamental dynamics in networks: averaging dynamics in discrete and continuous time; positive and compartmental systems; robotic coordination problems; coupled oscillator systems; virus propagation models; population dynamic models.
ECE 270. NONCOOPERATIVE GAME THEORY
(4) HESPANHA
Formulation of problems as mathematical games and provides the basic tools to solve them. Covers both static and dynamic games. Intended for graduate students (but is not restricted to) in communications, controls, signal processing, and computer science.
ECE 271A. Principles of Optimization
(4) STAFF
Prerequisite: ECE 210A (may be taken concurrently).
Linear programming: simplex and revised simplex method, duality theory, primal-dual algorithms, Karmarkar's algorithm. Network flow problems: max-flow/min-cut theorem, Ford-Fulkerson algorithm, shortest path algorithms. Complexity and NP-completeness theory: the classes of P and NP,reductions between np-complete problems, pseudopolynomial and approximationalgorithms.
ECE 271C. Optimal Control of Dynamic Systems
(4) BAMIEH
Prerequisite: ECE 230A or ME 243A or equivalent
Enrollment Comments: THIS COURSE IS CROSS-LISTED WITH ME 254.
Calculus of variations and Gateaux and Frechet derivatives. Optimization in dynamic systems and Pontryagin?s principle. Invariant Imbedding and deterministic and stochastic Dynamic Programming. Numerical solutions of optimal control problems. Min-max problems and differential games. Extensive treatment of Linear Quadratic Problems.
ECE 272A. Machine Learning in Design and Test Automation
(4) LI C. WANG
Prerequisite: ECE 152A or equivalent.
Enrollment Comments: Concurrently offered with ECE 157A.
Repeat Comments: Not open to those who have taken ECE 157A.
A introduction to design and test automation processes and how machine learning can be applied to improve certain steps in those processes. Basic machine learning concepts and practices to apply machine learning in those design and test automation steps are discussed. Graduate students are are expected to be able to explore an assignment and discover a problem and then find a way to improve the outcome, hence developing their research ability.
ECE 272B. Artificial Intelligence in Design and Test Automation
(4) LI C. WANG
Prerequisite: ECE 272A.
Enrollment Comments: Concurrently offered with ECE 157B.
Repeat Comments: Not open for credit for those who have taken ECE 157B.
An introduction of artificial intelligence applied to improve design and test processes. The various components to build an artificial intelligence system to assist engineering in design and test are discussed. Theoretical foundation related to those components are also discussed. Graduate students are are expected to be able to explore an assignment and discover a problem and then find a way to improve the outcome, hence developing their research ability.
ECE 273. TENSOR COMPUTATION FOR MACHINE LEARNING AND BIG DATA
(4) ZHANG
Prerequisite: Solid background in linear algebra and statitics/probability, basic programing skills.
Tensors have been increasingly used in data-intensive fields such as artificial intelligence and quantum computing. This course covers the notations, optimization and statistical methods of tensor computation, and their applications in machine learning (mainly deep learning) and quantum computing.
ECE 277. Pattern Recognition
(4) STAFF
Prerequisite: ECE 130C and 139.
Principles and design of pattern recognition systems. Statistical classifiers: discriminant functions; bayes, minimum risk, k-nearest neighbors, perceptrons. Clustering and estimation; criteria; k-means, fuzzy, hierarchal, graph- theoretic, simulated and determininstic annealing; maximum likelihood and bayesian methods: nonparametric methods. Overview of applications.
ECE 278A. Digital Image Processing
(4) STAFF
Prerequisite: ECE 158 or ECE 178.
Two-dimensional signals and systems. Two-dimension al fourier and z- transforms. Discrete fourier transform, two-dimensional digital filters. Image processing basics, image enhancement and restoration. Special image processing software available for laboratory experimentation.
ECE 278B. Principles of Biological Microscopy
(4) LIEBLING
Prerequisite: ECE 158 or ECE 178 or consent of instructor.
Introduction to image acquisition, digital processing and analysis for biological microscopy. Design of modern optical microscopes, Fourier optics, point spread function and resolution, fluorescence principles and applications, spectral unmixing, colocalization, deconvolution, coherent imaging, and super- resolution. Hands-on computer assignments.
ECE 278C. Imaging Systems
(4) STAFF
Prerequisite: ECE 158 and 178.
Generalized holography, backward techniques, resolution limit, x-ray tomography, diffraction tomography, NMR imaging, synthetic-aperture radar, active sonar imaging, acoustic microscopy, imaging algorithms, motion estimation and tracking.
ECE 279. Computer System Performance Evaluation
(4) STAFF
Prerequisite: ECE 139, ECE 154A, and Computer Science 170.
Overview of the evaluation of computer system performance. Measurement, simulation, and analytic techniques for performance analysis. System work load characterization. Examples of performance evaluation for system selection, tuning, and design. Evaluation of program performance.
ECE 281. Advanced Topics in Computer Vision
(4) WANG
Prerequisite: ECE OR CMPSC 181.
Enrollment Comments: Same course as Computer Science 281.
Topics in Computer Vision, including imaging and multi-view geometry; image and video segmentation; object detection, localization, and recognition; video activity recognition; machine learning models and methods applied to computer vision.
ECE 281B. Advanced Topics in Computer Vision
(4) TURK, WANG
Prerequisite: ECE OR CMPSC 181.
Enrollment Comments: Same course as Computer Science 281B.
Advanced topics in computer vision: image sequence analysis, spatio- temporal filtering, camera calibration and hand-eye coordination, robot navigation, shape representation, physically-based modeling, regularization theory, multi- sensory fusion, biological models, expert vision systems, and other topics selected from recent research papers.
ECE 282. Error Correcting Codes
(4) STAFF
Prerequisite: ECE 130C or ECE 139.
Principles and techniques for combating channel errors in data transmission or storage. Introduction to galois fields. Linear blockcodes (particularly hamming, BCH, reed-solomon). Convolutional codes. Encoding and decoding algorithms (including spectral methods, maximum likelihood and viterbi decoding.)
ECE 283. MACHINE LEARNING: A SIGNAL PROCESSING PERSPECTIVE
(4) MADHOW
Prerequisite: ECE 235.
Machine learning algorithms from a signal processing viewpoint; unsupervised learning (K-means, deterministic annealing, EM algorithm); supervised learning (Support Vector Machines, neural networks); regression; Bayesian inference and tracking using Markov chain Monte Carlo and sequential Monte Carlo (particle filter) techniques.
ECE 284. THEORETICAL MACHINE LEARNING
(4) PEDARSANI
Prerequisite: ECE 235 or equivalent.
Recommended Preparation: ECE 235 or equivalent.
This course studies the mathematical foundations of machine learning, and focuses on understanding the trade-offs between statistical accuracy, scalability, and computation efficiency of distributed machine learning and optimization algorithms. Topics include empirical risk, convexity in learning, convergence analysis of gradient descent algorithm, stochastic gradient descent, neural networks, and reinforcement learning.
ECE 285. ADVANCED IMAGE SYNTHESIS
(4) SEN
Prerequisite: Computer Graphics desired but not necessary
Theory and design of rendering systems for high-end image synthesis and modeling physically-based light transport. Topics include REYES-style architectures, Monte Carlo algorithms, variance reduction methods, path tracing, photon mapping, reflection and volumetric light transport. Students must have good software engineering skills.
ECE 289. INTRODUCTION TO ROBOTICS: DYNAMICS AND CONTROL
(5) BYL
Prerequisite: ECE 130A or ME 155A (may be taken concurrently).
Enrollment Comments: Concurrently offered with ECE 179D.
Dynamic modeling and control methods for robotic systems. Lagrangian method for deriving equations of motion, introduction to the Jacobian, and modeling and control of forces and contact dynamics at a robotic end effector. Laboratories encourage a problem-solving approach to control.
ECE 295. Group Studies: Controls, Dynamical Systems, and Computation
(1) STAFF
Enrollment Comments: Same course as Chemical Engineering 295, Computer Science 592, and ME 295.
Repeat Comments: Department: ECE, ChE, and CMPSC will submit their own MCA for the cross-lists for this course.
A series of weekly lectures given by university staff and outside experts in the fields of control systems, dynamical systems, and computation.
ECE 493. Internship in Industry
(1-12) STAFF
Prerequisite: Prior departmental approval needed. ECE majors only.
Special projects for selected students. Offered in conjunction with engineering practice in selected industrial and research firms, under direct faculty supervision.
ECE 502. Teaching of Electrical and Computer Engineering
(1-4) STAFF
Enrollment Comments: Open to Electrical and Computer Engineering Teaching Assistants only. No unit credit allowed toward advanced degree.
Procedures and techniques for teaching electrical engineering or computer engineering gained through actual teaching of lecture courses, leading discussion sections, and/or teaching engineering laboratories. Meetings will be held as needed to discuss problems, methods, and procedures.
ECE 594AAZZ. Special Topics in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in these variable unit courses may be carried out by lecture, by laboratory, or by a combination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering.
ECE 594A. Special Topics in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in these variable unit courses may be carried out by lecture, by laboratory, or by a combination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering. Special topics are coded as follows: a. circuits.
ECE 594AA. Micro-Electro-Mechanical Systems
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in these variable unit courses may be carried out by lecture, by laboratory, or by a combination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering.
ECE 594B. Special Topics in Electrical and Computer Engineering
ECE 594BB. Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in these variable unit courses may be carried out by lecture, by laboratory, or by a combination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering.
ECE 594C. Special Topics in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in these variable unit courses may be carried out by lecture, by laboratory, or by a combination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering. Special topics are coded as follows: c. communication systems.
ECE 594CC. Special Topics in ECE Photonics
ECE 594D. Special Topics in Electrical and Computer Engineering
ECE 594E. Special Topics in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in these variable unit courses may be carried out by lecture, by laboratory, or by a combination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering. Special topics are coded as follows: e. signal processing.
ECE 594F. Special Topics in Electrical and Computer Engineering
ECE 594I. Special Topics in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in these variable unit courses may be carried out by lecture, by laboratory, or by a combination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering. Special topics ar coded as follows: i. microwave.
ECE 594J. Special Topics in Electrical and Computer Engineering
ECE 594N. Special Topics in Electrical and Computer Engineering
ECE 594Q. Special Topics in Electrical and Computer Engineering: Imaging Systems and Image Processing
ECE 594R. Special Topics in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in these variable unit courses may be carried out by lecture, by laboratory, or by acombination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering. Special topics are coded as follows:r. general.
ECE 594T. Special Topics in Electrical and Computer Engineering
(1-5) STAFF
Prerequisite: Consent of instructor and graduate standing.
Enrollment Comments: May be repeated for credit if there is no duplication of content.
Instruction in thesevariable unit courses may be carried out by lecture, by laboratory, or by acombination of these. These courses provide a study of topics of current interest in various areas of electrical and computer engineering. Special topics are coded as follows: t. robotics.
ECE 594U. Special Topics in Electrical and Computer Engineering
ECE 594V. Special Topics in Electrical and Computer Engineering
ECE 594W. Special Topics in Electrical and Computer Engineering
ECE 594Z. Nanotechnology
ECE 595AAZZ. Group Studies in Electrical and Computer Engineering
(1) STAFF
Prerequisite: Consent of instructor.
Enrollment Comments: No unit credit allowed advanced degree. May be repeated for enrollment credit if there is no duplication of course content.
Instruction in researc group meetings carried out by lecture, by laboratory, or by a combination of the two. Courses provide a critical review of research in various areas of electrical and computer engineering.
ECE 595B. Group Studies in Electrical and Computer Engineering
ECE 595C. Group Studies in Electrical and Computer Engineering
ECE 595D. Group Studies in Electrical and Computer Engineering
ECE 595E. Group Studies in Electrical and Computer Engineering
ECE 595F. Group Studies in Electrical and Computer Engineering
ECE 595G. Group Studies in Electrical and Computer Engineering
ECE 595GP. Group Studies in Electrical and Computer Engineering
ECE 595H. Special Topics in Electrical and Computer Engineering
ECE 595I. Group Studies in Electrical and Computer Engineering
ECE 595K. Group Studies in Electrical and Computer Engineering
ECE 595L. Special Topics in Electrical and Computer Engineering
ECE 595O. Group Studies in Electrical and Computer Engineering
ECE 595Q. Group Studies in Electrical and Computer Engineering
ECE 595R. Group Studies in Electrical and Computer Engineering
ECE 595S. Group Studies in Electrical and Computer Engineering
ECE 595T. Group Studies in Electrical and Computer Engineering
ECE 595U. Group Studies in Electrical and Computer Engineering: Scientific Computation
ECE 595V. Group Studies in Electrical and Computer Engineering
ECE 595W. Group Studies in Electrical and Computer Engineering
ECE 595X. Group Studies in Electrical and Computer Engineering
ECE 596. Directed Research
(2-12) STAFF
Research, either experimental or theoretical; may be undertaken by properly qualified graduate students under the direction of a faculty member.
ECE 597. Individual Studies for M.S. Comprehensive Examinations and Ph.D. Examinations
(1-12) STAFF
Enrollment Comments: Maximum of 12 units per quarter. S/U grading. Instructor is normally student's major professor or chairman of doctoral committee. No unit creditallowed toward advanced degree. Enrollment limited to 24 units per exam.
Individual studies for M.S. comprehensive examinations and Ph.D. examinations.
ECE 598. Master's Thesis Research and Preparation
(1-12) STAFF
Prerequisite: Consent of graduate adviser.
Enrollment Comments: No unit allowed toward degree.
For research underlying the thesis and writing of the thesis.
ECE 599. Ph.D. Dissertation Research and Preparation
(1-12) STAFF
Prerequisite: Consent of chair of student's doctoral committee.
Research and preparation of dissertation.