Electrical Engineering (EENG)
EENG 200a, Introduction to Electronics Staff
Introduction to the basic principles of analog and digital electronics. Analysis, design, and synthesis of electronic circuits and systems. Topics include current and voltage laws that govern electronic circuit behavior, node and loop methods for solving circuit problems, DC and AC circuit elements, frequency response, nonlinear circuits, semiconductor devices, and small-signal amplifiers. A lab session approximately every other week. After or concurrently with MATH 115 or equivalent. QR, WR, SC 0 Course cr
EENG 201b, Introduction to Computer Engineering Staff
Introduction to the theoretical principles underlying the design and programming of simple processors that can perform algorithmic computational tasks. Topics include data representation in digital form, combinational logic design and Boolean algebra, sequential logic design and finite state machines, and basic computer architecture principles. Hands-on laboratory involving the active design, construction, and programming of a simple processor. QR
EENG 202a, Communications, Computation, and Control Amin Karbasi
Introduction to systems that sense, process, control, and communicate. Topics include information theory and coding (compression, channel coding); network systems (network architecture, routing, wireless networks); signals and systems (linear systems, Fourier techniques, bandlimited sampling); estimation and learning (hypothesis testing, regression, classification); and end-to-end application examples (security, communication systems). MATLAB programming assignments illustrate concepts. Students should have basic familiarity with counting (combinatorics), probability and statistics (independence between events, conditional probability, expectation of random variables, uniform distribution). Prerequisite: MATH 115. AP Stats preferred. QR
EENG 203b, Circuits and Systems Design Hong Tang
Introduction to design in a laboratory setting. A wide variety of practical systems are designed and implemented to exemplify the basic principles of systems theory. Systems include audio filters and equalizers, electrical and electromechanical feedback systems, radio transmitters and receivers, and circuits for sampling and reconstructing music. Prerequisites: EENG 200 QR, SC RP
* EENG 235a and EENG 236b, Special Projects Rajit Manohar and Fengnian Xia
Faculty-supervised individual or small-group projects with emphasis on laboratory experience, engineering design, or tutorial study. Students are expected to consult the director of undergraduate studies and appropriate faculty members about ideas and suggestions for suitable topics during the term preceding enrollment. These courses may be taken at any time during the student's career. Enrollment requires permission of both the instructor and the director of undergraduate studies, and submission to the latter of a one- to two-page prospectus signed by the instructor. The prospectus is due in the departmental office one day prior to the date that the student's course schedule is due. ½ Course cr per term
EENG 310b, Signals and Systems Dionysis Kalogerias
Signal and system theory, having its roots at a great extent on classical and modern harmonic analysis, has played an instrumental role in the development of several transformative technologies during the 20th and 21st centuries. Two such examples are communication systems (analog, digital, wired, wireless), and compressive sensing and sparse approximations. This core course provides a comprehensive first exposition to signal and system theory, and mainly covers the following content: definitions/classifications/dodeling of signals and systems in continuous and discrete-time; linear system theory (impulse response, frequency response, linear difference/differential equations); convolutions (continuous and discrete); Fourier series; Fourier transform (continuous and discrete-time); Laplace transform and Z-transform. Prior knowledge of advanced calculus of one variable and some elementary real analysis will be very useful (something like MATH 115), although it is not required strictly. QR
EENG 320a / APHY 320a, Introduction to Semiconductor Devices Mengxia Liu
An introduction to the physics of semiconductors and semiconductor devices. Topics include crystal structure; energy bands in solids; charge carriers with their statistics and dynamics; junctions, p-n diodes, and LEDs; bipolar and field-effect transistors; and device fabrication. Additional lab one afternoon per week. Prepares for EENG 325 and 401. Recommended preparation: EENG 200. PHYS 180 and 181 or permission of instructor QR, SC
EENG 325a, Electronic Circuits Fengnian Xia
Models for active devices; single-ended and differential amplifiers; current sources and active loads; operational amplifiers; feedback; design of analog circuits for particular functions and specifications, in actual applications wherever possible, using design-oriented methods. Includes a team-oriented design project for real-world applications, such as a high-power stereo amplifier design. Electronics Workbench is used as a tool in computer-aided design. Additional lab one afternoon per week. Prerequisite: EENG 200. QR RP
EENG 348b / CPSC 338b, Digital Systems Rajit Manohar
Development of engineering skills through the design and analysis of digital logic components and circuits. Introduction to gate-level circuit design, beginning with single gates and building up to complex systems. Hands-on experience with circuit design using computer-aided design tools and microcontroller programming. Recommended preparation: EENG 201. QR
EENG 401b, Photonics and Optical Electronics Jung Han
A survey of the enabling components and devices that constitute modern optical communication systems. Focus on the physics and principles of each functional unit, its current technological status, design issues relevant to overall performance, and future directions. Formerly EENG 410. EENG 320 and APHY 322, or permission of instructor QR, SC
EENG 402b / APHY 418b, Advanced Electron Devices Mengxia Liu
The science and technology of semiconductor electron devices. Topics include compound semiconductor material properties and growth techniques; heterojunction, quantum well and superlattice devices; quantum transport; graphene and other 2D material systems. Formerly EENG 418. Prerequisite: EENG 320 or equivalent. QR, SC
EENG 420b / CPSC 420b, Computer Architecture Abhishek Bhattacharjee
This course offers a treatment of computer architectures for high-performance and power/energy-efficient computer systems. Topics include the foundations of general-purpose computing, including instruction set architectures, pipelines, superscalar and out-of-order execution, speculation, support for precise exceptions, and simultaneous multi-threading. We also cover domain-specific hardware (e.g., graphics processing units), and ongoing industry efforts to elevate them to the status of first-class computing units. In tandem, we cover topics relevant to both general-purpose and domain-specific computing, including memory hierarchies, address translation and virtual memory, on-chip networks, machine learning techniques for resource management, and coherence techniques. If time permits, we will study the basics of emerging non-classical computing paradigms like neuromorphic computing. Overall, this course offers insights on how the computing industry is combating the waning of traditional technology scaling via acceleration and heterogeneity. Prerequisites: CPSC 323, 223, and 202. This is a programming-intensive course, so comfort with large programming projects is essential.
* EENG 424b, Computer Hardware Security Jakub Szefer
Computer hardware security is one of the most important and challenging areas in computer engineering. Securing computers is essential to safeguarding personal information, intellectual property, and the national infrastructure at large. While technology is constantly changing, the fundamental problems of securing computers remain the same. With each new technology, similar problems of information leakage and different types of covert- and side- channel attacks emerge. This course provides an in-depth examination of computers and their hardware-based security issues. The operation of the hardware, from transistors to processor microarchtiectures, has intimate impact on the security of the whole system. Often, software or algorithms executing on a computer have no control over, or detailed access to, the underlying hardware. Yet, the operation of the hardware and different types of side-effects, such as changing timing, changing power consumption, EM emanations, or different types of crosstalk effects lead to information leakage. To understand the hardware-based security issues, and how to prevent them, the course focuses on classical microporcessors, accelerators such as Field Programmable Gate Arrays, as well as emerging technologies such as Quantum Computers. For the different types of computers, the course teaches students about the various hardware security issues, and students are able to experiment and perform hands-on exercises to demonstrate different types of information leaks. Students also learn about latest research through reading and presenting research papers in-class. Prerequisite: EENG 348 or CPSC 323 or with instructor's approval. QR
EENG 428a, Cloud Computing with FPGAs Jakub Szefer
This course is an intermediate to advanced level course focusing on digital design and use of Field Programmable Gate Arrays (FPGAs). The course centers around the new cloud computing paradigm of using FPGAs that are hosted remotely by cloud providers and accessed remotely by users. The theoretical aspects of the course focus on digital system modeling and design using the Verilog Hardware Description Language (Verilog HDL). In the course, students learn about logic synthesis, behavioral modeling, module hierarchies, combinatorial and sequential primitives, and implementing and testing the designs in simulation and real FPGAs. Students learn about topics ranging from higg-level ideas about cloud computing to low-level details of interfacing servers to FPGAs, PCIe protocol, AXI protocol, and other common communication protocols between hardware modules or between the FPGAs and the host computer, including Serial, SPI, and I2C. Students also learn about and use FPGA tools from Xilinx, but course also touches on tools available from Intel (formerly Altera) as well as open-source tools. The practical aspects of the course include semester-long projects leveraging commercial or in-lab remote FPGAs, based on the project selected by students. Prerequisites: EENG 201 and 348 or permission of the instructor. Students should be familiar with digital design basics and have some experience with Hardware Description Languages such as Verilog or VHDL. QR
EENG 431b, Foundations of Data Science Amin Karbasi
Recent advances in data science have enabled us to make tremendous progress in various fields including robotis, machine learning, computer vision, medicine, etc. This course provides an easy, yet rigorous, introduction to the mathematical and algorithmic foundations of data science. We cover key ideas that have led to such progress from statistics to optimization. The course is organized around three themes: What is learning? What algorithms we can use to learn? How can we optimize resources for efficient learning? Prerequisites: MATH 120, MATH 222, CPSC 365, and STAT 241. SC
* EENG 432a / AMTH 342a, Linear Systems A Stephen Morse
Introduction to finite-dimensional, continuous, and discrete-time linear dynamical systems. Exploration of the basic properties and mathematical structure of the linear systems used for modeling dynamical processes in robotics, signal and image processing, economics, statistics, environmental and biomedical engineering, and control theory. Prerequisite: MATH 222 or permission of instructor. QR
EENG 439a, Neural Networks and Learning Systems Priya Panda
Neural networks (NNs) have become all-pervasive giving us self-driving cars, Siri Voice assistants, Alexa, and much more. While deep NNs deliver state-of-the-art accuracy on many artificial intelligence tasks, it comes at the cost of high computational complexity. Accordingly, designing efficient hardware architectures for deep neural networks is an important step towards enabling the wide deployment of NNs, particularly in low-power computing platforms, such as, mobiles, embedded Internet of Things (IoT) and drones. This course aims to provide a thorough overview on deep learning techniques, while highlighting the key trends and advances toward efficient processing of deep learning in hardware systems, considering algorithm-hardware co-design techniques. Prerequisites: MATH 222 or CPSC 202, EENG 201, and knowledge of Python programming.
EENG 440a, Detection and Estimation Dionysis Kalogerias
Detection and estimation refers to the development and study of statistical theory and methods in settings involving stochastic signals and, more generally, stochastic processes or stochastic data, where the goal is (optimal) testing of possibly multiple hypotheses regarding the generative model of the data, (optimal) signal estimation from potentially noisy measurements/observations, and parameter estimation whenever parametric signal/data models are available. Although these problems often come up in the context of signal processing and communications, the concepts are fundamental to the basic statistical methodologies used broadly across science, medicine, and engineering. The course has been designed from a contemporary perspective, and includes new and cutting-edge topics such as risk-aware statistical estimation and intrinsic links with stochastic optimization and statistical learning. Suggested prerequisites: MATH 241 or S&DS 238, S&DS 241; MATH 222, MATH 225, EENG 202 (preferred) Prior knowledge of undergrad/first-year-grad level probability would be ideal. Knowledge of real analysis/measure theory would be even more ideal, but it is not required.
EENG 443a / MENG 443a, Fundamentals of Robot Modeling and Control Ian Abraham
This course introduces fundamental concepts of robotics, optimal control, and reinforcement learning. Lectures cover topics on state representation, manipulator equations, forward/inverse kinematics/dynamics, planning and control of fully actuated and underactuated robots, operational space control, control via mathematical optimization, and reinforcement learning. The topics focus on connecting mathematical formulations to algorithmic implementation through simulated robotic systems. Coding assignments provide students experience setting up and interfacing with several simulated robotic systems, algorithmic implementation of several state-of-the-art methods, and a codebase for future use. Special topic lectures focus on recent developments in the field of robotics and highlight core research areas. A final class project takes place instead of a final exam where students leverage the codebase they have built throughout the course in a robot problem of their choosing. Experience with differential equations, linear algebra, and basic understanding of dynamics is required. Basic coding experience in e.g., python, c++, c, are also required. Juniors and seniors preferred.
EENG 445a / BENG 445a, Biomedical Image Processing and Analysis James Duncan and Lawrence Staib
This course is an introduction to biomedical image processing and analysis, covering image processing basics and techniques for image enhancement, feature extraction, compression, segmentation, registration and motion analysis including traditional and machine learning techniques. Student learn the fundamentals behind image processing and analysis methods and algorithms with an emphasis on biomedical applications. Prerequisite: BENG 352 or EENG 310 or permission of instructors. Recommended preparation: familiarity with probability theory.
* EENG 455b, Network Algorithms and Stochastic Optimization Leandros Tassiulas
This course focuses on resource allocation models as well as associated algorithms and design and optimization methodologies that capture the intricacies of complex networking systems in communications computing as well as transportation, manufacturing, and energy systems. Max-weight scheduling, back-pressure routing, wireless opportunistic scheduling, time-varying topology network control, and energy-efficient management are sample topics to be considered, in addition to Lyapunov stability and optimization, stochastic ordering, and notions of fairness in network resource consumption. QR
* EENG 468a and EENG 469b, Advanced Special Projects Rajit Manohar and Fengnian Xia
Faculty-supervised individual or small-group projects with emphasis on research (laboratory or theory), engineering design, or tutorial study. Students are expected to consult the director of undergraduate studies and appropriate faculty members about ideas and suggestions for suitable topics during the term preceding enrollment. This course may only be taken once and at any appropriate time during the student's career; it does not fulfill the senior requirement. Enrollment requires permission of both the instructor and the DUS, and submission to the latter of a one- to two-page prospectus approved by the instructor. The prospectus is due to the DUS one day prior to the date that the student's course schedule is due.
* EENG 471a and EENG 472b, Senior Advanced Special Projects Rajit Manohar and Fengnian Xia
Faculty-supervised individual or small-group projects with emphasis on research (laboratory or theory), engineering design, or tutorial study. Students are expected to consult the director of undergraduate studies and appropriate faculty members about ideas and suggestions for suitable topics during the term preceding enrollment. This course is only open to seniors and is one of the courses that fulfills the senior requirement. Enrollment requires permission of both the instructor and the DUS, and submission to the latter of a one- to two-page prospectus approved by the instructor. The prospectus is due to the DUS one day prior to the date that the student's course schedule is due.
EENG 475a / BENG 475a / CPSC 475a, Computational Vision and Biological Perception Steven Zucker
An overview of computational vision with a biological emphasis. Suitable as an introduction to biological perception for computer science and engineering students, as well as an introduction to computational vision for mathematics, psychology, and physiology students. Prerequisite: CPSC 112 and MATH 120, or with permission of instructor. QR, SC RP
* EENG 481b, Advanced ABET Projects Roman Kuc
Study of the process of designing an electrical device that meets performance specifications, including project initiation and management, part specification, teamwork, design evolution according to real-world constraints, testing, ethics, and communication skills. Design project consists of electronic sensor, computer hardware, and signal analysis components developed by multidisciplinary teams. Prerequisites: EENG 310, 320, 325, and 348. RP