Electrical and Computer Engineering

mccormick.northwestern.edu/electrical-computer

The Department of Electrical and Computer Engineering offers two programs for undergraduate students leading to the bachelor of science degree in electrical engineering and the bachelor of science degree in computer engineering. It also offers graduate programs leading to the MS and PhD degrees in those areas. The department boasts an internationally renowned faculty, state-of-the-art research equipment, and the considerable resources offered by a great university. It combines these advantages with an uncommon commitment to students.

The department offers several interdisciplinary options, including premedical/biomedical studies.

Electrical Engineering

Electrical engineering involves the development and application of electronic and optical technologies for generating, communicating, and processing information. The electrical engineering curriculum includes courses in electronic circuits, solid-state electronics, electromagnetics, optics, lasers, controls, digital signal processing, communications and networks. Students may specialize in any of the following areas.

Circuits and Electronics

This area of study is concerned with the analysis and design of circuits that employ electronic devices, such as integrated circuits, transistors, diodes, light-emitting diodes, data-storage elements, and image-forming devices. Important applications include radio, television, digital computers, and electronic control instrumentation systems.

Communications Systems

A communication system involves the generation of an electrical signal representing information to be transmitted, its encoding in some form for efficient transmission, its actual transmission, its decoding at the receiving end of the system, and its reconversion into something intelligible to the user.  This subject also covers the design and analysis of communication networks for the transmission of audio, video, and data among many users.

Control Systems

The study of control systems deals with the analysis and design of automatic regulators, guidance systems, numerical control of machines, robotics, and computer control of industrial processes. Students are concerned with identifying these systems and with such topics as system stability, system performance criteria, and optimization. These concepts find application in other fields of engineering and in the development of better understanding of biological, energy, economic, and social systems.

Signal Processing and Machine Learning

Study in this area focuses on the digital representation and algorithmic manipulation of speech, audio, image, and video signals. Specific topics within this general area include image and video processing, recovery and compression, multimedia signal processing, filter design and rank-order operators, image and video transmission, medical and biomedical signal processing, medical imaging, and algorithms for medical instrumentation.

Electromagnetics and Photonics

Study in the area of photonic systems and technology focuses on microcavity lasers, nanostructures, quantum and nonlinear optics, integrated optics, fiber-optic and infrared waveguide devices, fiber-optic communications, computational electromagnetics, and imaging through turbulence. Special emphases include applications of novel quantum amplifiers in optical communications, imaging, and cryptography; devices for high-speed optical networks; and applications of computational techniques in integrated and nonlinear optics.

Solid-State Engineering

This area is concerned with the design, physical principles, and applications of solid-state devices both as discrete units and integrated circuit systems. In addition to the various diode, transistor, and FET devices fabricated from silicon technology, devices developed from compound semiconductor materials are reviewed. Both analog and digital circuit applications are stressed. Another important topic is the behavior of conductors in the superconducting state, with a stress on applications.

Computer Engineering

Computer engineering deals with digital design, computer hardware and architecture, robotics, microprocessors, software and programming, and the interrelationships between hardware and software. The computer engineering curric­ulum involves courses in digital logic, electronic circuits, computer architecture, robotics, VLSI design, VLSI CAD, software programming, operating systems, microprocessor systems, and parallel computing. The computer engineering curriculum allows students to develop a particular specialization in the following areas.

Embedded Systems

This area focuses on the use of digital hardware to monitor and control physical systems. Topics include discrete dynamics systems, digital controllers, analog-to-digital converters, microprocessor based design, and the economic trade-offs of different software and hardware systems.

High-Performance Computing

This area introduces students to the field of state-of-the-art high-performance computing. In particular, it deals with aspects of computing involving multiple processors working together on a common problem, including issues of computer architecture, parallel programming and algorithms, numerical computing, and computer networking.

Software

This area exposes students to concepts and skills necessary to implement and understand computer software. Students are taught how to design and analyze efficient algorithms, how to develop operating systems and compilers, and how to write programs using efficient data structures and software engineering practices.

VLSI and Computer-Aided Design

This area focuses on systematic approaches to designing high-performance integrated circuits consisting of millions of transistors. This specialization includes topics such as low-power, high-speed, and reliable circuit design, hardware-software codesign, design verification, design of field-programmable gate array (FPGA), and computer-aided design (CAD) techniques.

Facilities

Students have access to state-of-the-art research and teaching facilities, ranging from laboratories for electronic devices to parallel computers and worldwide distributed testbeds.

Electrical engineering facilities include laboratories for electronic circuits, digital circuits, solid-state electronics, fabrication of solid-state lasers and other quantum electronic/photonic devices, thin-film device development, biomedical electronics, microwave techniques, holography and coherent light optics, biological and other control systems, and signal, image, and speech processing.

Computer engineering facilities include laboratories in digital systems design, microprocessor systems, micro­programming, robotics, computer-aided design, and computer networking.

The department has major research facilities for work in parallel computing systems, embedded systems, computer vision, VLSI design, electronic design automation, robotics, solid-state devices, fiber optics, lasers, computational electromagnetics, electronic materials, and biomedical engineering.

COMP_ENG 203-0 Introduction to Computer Engineering (1 Unit)   Overview of computer engineering design. Number systems and Boolean algebra. CMOS and logic gates. Design of combinational circuits and simplification. Decoders, multiplexers, adders. Sequential logic and flip flops. Introduction to assembly language.

COMP_ENG 205-0 Fundamentals of Computer System Software (1 Unit)   Basics of assembly language programming. Macros. System stack and procedure calls. Techniques for writing assembly language programs. Features of Intel x86 architecture. Interfaces between C and assembly codes. Prerequisite: COMP_SCI 111-0 or GEN_ENG 205-1; COMP_ENG 203-0 recommended.

COMP_ENG 295-0 Special Topics in Computer Engineering (1 Unit)   Topics suggested by students or faculty and approved by the department.

COMP_ENG 303-0 Advanced Digital Design (1 Unit)  

Overview of digital logic design. Technology review. Delays, timing in combinational and sequential circuits, CAD tools, arithmetic units such as ALUs and multipliers. Introduction to VHDL.

Prerequisite: COMP_ENG 203-0.

COMP_ENG 329-0 The Art of Multicore Concurrent Programming (1 Unit)  

Concurrency disciplines and practical programming techniques for multicore processors; synchronization primitives, mutual exclusion, foundation of shared memory, locking, non-blocking synchronization, and transactional memory.

Prerequisite: COMP_SCI 110-0 or COMP_SCI 111-0.

COMP_ENG 334-0 Fundamentals of Blockchains and Decentralization (1 Unit)  

This course is partly an introduction to the fundamentals of blockchains and decentralized applications and partly a springboard toward deeper understanding and further exploration. The course explains how blockchains work; teaches the underlying fundamentals of distributed consensus; provides hands-on experience through computer assignments; and also touches upon economic and policy issues.

Prerequisites: COMP_SCI 212-0 or ELEC_ENG 302-0 or equivalent or graduate standing and basic programming skills.

COMP_ENG 346-0 Microprocessor System Design (1 Unit)  

Structure and timing of typical microprocessors. Sample microprocessor families. Memories, UARTS, timer/counters, serial devices, and related devices. MUX and related control structures for building systems. Standard bus structures. Interrupt programming. Hardware/software design tradeoffs.

Prerequisites: COMP_SCI 211-0 and (COMP_ENG 205-0 or COMP_SCI 213-0).

COMP_ENG 347-1 Microprocessor Systems Project I (1 Unit)  

Design, prototype and test individual projects involving microprocessors and related devices such as PAL/FPGA and special purpose ICs. Embedded-system tools such as special purpose compilers and ICE (in-circuit emulation). Manufacturing issues such as PCB layout. Survey of microprocessor platforms. Part I deals with specification and design.

Prerequisite: COMP_ENG 346-0.

COMP_ENG 347-2 Microprocessor Systems Project II (1 Unit)  

Design, prototype and test individual projects involving microprocessors and related devices such as PAL/FPGA and special purpose ICs. Embedded-system tools such as special purpose compilers and ICE (in-circuit emulation). Manufacturing issues such as PCB layout. Survey of microprocessor platforms. Part II deals with implementation, testing, and documentation.

Prerequisite: COMP_ENG 347-1.

COMP_ENG 355-0 ASIC and FPGA Design (1 Unit)  

Overview of computer-aided design tool flow for ASIC and FPGA design. Synthesis from hardware description languages and creation of finite-state machines. Differences between FPGA and ASIC design flows. Exploration of concepts in several projects.

Prerequisite: COMP_ENG 303-0.

COMP_ENG 356-0 Introduction to Formal Specification & Verification (1 Unit)  

Introduction to formal techniques used for system specifications and verifications: temporal logic, set theory, proofs, and model checking. TLA+ (Temporal Logic of Actions) specifications. Safety and liveness properties. Real-time specs and verifications.

COMP_ENG 357-0 Design Automation in VLSI (1 Unit)  

VLSI physical design, including logic design, architectural design, and packaging. Development of CAD tools for VLSI physical design.

Prerequisites: COMP_SCI 214-0, COMP_ENG 303-0.

COMP_ENG 358-0 Introduction to Parallel Computing (1 Unit)  

Introduction to parallel computing for scientists and engineers. Shared-memory parallel architectures and programming, distributed memory, message-passing data-parallel architectures, and programming.

Prerequisite: COMP_SCI 211-0 or graduate standing.

COMP_ENG 361-0 Computer Architecture I (1 Unit)  

Design and understanding of the computer system as a whole unit. Performance evaluation and its role in computer system design; instruction set architecture design, data-path design and optimizations (e.g., ALU); control design; single cycle, multiple cycle, and pipeline implementations of processor. Hazard detection and forwarding; memory hierarchy design; cache memories, virtual memory, peripheral devices, and I/O.

Prerequisites: (COMP_ENG 205-0 or COMP_SCI 213-0) AND (COMP_ENG 303-0 or COMP_ENG 355-0).

COMP_ENG 362-0 Computer Architecture Projects (1 Unit)  

Quarter-long team project designing a processor for a complete instruction set. Involves ISA design, design of components, data-path, and control for a pipelined processor to implement the ISA. Use of industrial-strength design tools and VHDL as the design specification language. Designs are evaluated using benchmark programs for correctness and performance.

Prerequisite: COMP_ENG 361-0.

COMP_ENG 364-0 CyberPhysical Systems Design and Application (1 Unit)   This course will introduce trends and challenges of modern cyber-physical systems, and review state-of-the-art design paradigms and tools in academia and industry. It will introduce fundamental concepts in the modeling of cyber-physical systems, important models of computation such as dataflow, state machine, and synchronous-reactive semantics, real-time embedded architectures, and synthesis methodologies for generating efficient, correct, and predictable implementations.

COMP_ENG 365-0 Internet-of-things Sensors, Systems, And Applications (1 Unit)   In-depth review of advanced technology surrounding the Internet-of-Things; including wireless sensing networks, wearables, drones, privacy, machine learning, and energy-efficient computing. Application domains in health, infrastructure monitoring, green computing and others are explored. Following a seminar format with alongside exploration of new research areas through a project proposal.

COMP_ENG 366-0 Embedded Systems (1 Unit)   Introduction to the design and evaluation of embedded systems, with emphasis on the system-level aspects of embedded systems. Topics include modeling (models of computation and models of communication), survey of embedded system hardware, software and operating system issues specific to embedded system design, mapping specifications to hardware, and testing and evaluation of embedded systems.

COMP_ENG 368-0 Programming Massively Parallel Processors with CUDA (1 Unit)  

A hands-on introduction to parallel programming and optimizations for 1000+ core GPU processors, their architecture, the CUDA programming model, and performance analysis. Students implement various optimizations in massively-parallel workloads on modern GPUs. May not receive credit for both COMP_ENG 368-0 and COMP_ENG 468-0.

Prerequisites: (COMP_SCI 213-0 and (COMP_SCI 211-0 or COMP_SCI 230-0)) or permission of instructor.

COMP_ENG 369-0 Introduction to Sensor Networks (1 Unit)  

Basic hardware and software platforms for sensor networks. Various algorithmic techniques for data routing, query processing, and tracking.

Prerequisite: COMP_SCI 343-0 or COMP_SCI 340-0.

COMP_ENG 387-0 Real-Time Digital Systems Design and Verification with FPGAs (1 Unit)   This course covers the systematic design of real-time digital systems and verification techniques using field-programmable gate arrays (FPGAs) and presents a top-down design methodology where students learn how to translate software applications in high-level level languages (such as C/C++) into SystemVerilog models for FPGA architectures. Prerequisite: COMP_ENG 303-0 and COMP_ENG 355-0.

COMP_ENG 391-0 CMOS VLSI Circuit Design (1 Unit)  

Design of modern CMOS very large-scale integrated (VLSI) circuits.

COMP_ENG 392-0 VLSI Systems Design Projects (1 Unit)  

Design of a cutting-edge VLSI chip. Teams of 5 to 10 students undertake a large circuit design problem, going from specification to VLSI implementation while optimizing for speed, area, and/or power. Group collaboration and engineering design.

Prerequisite: COMP_ENG 391-0 or COMP_ENG 355-0.

COMP_ENG 393-0 Advanced Low Power VLSI and Mixed-signal IC Design (1 Unit)  

This course provides an in-depth review of the advanced technology in integrated circuit design. Special focuses will be given to ultra-low power circuit design, error resilient circuit design, machine learning accelerators, power management circuits and basic design of analog mixed-signal circuit. Following a seminar format, detailed case study on circuit design techniques used by Intel, IBM, etc. will be discussed.

COMP_ENG 395-0 Special Topics in Computer Engineering (1 Unit)  

Topics suggested by students or faculty and approved by the department.

COMP_ENG 399-0 Projects (1 Unit)   Seminar and projects for advanced undergraduates on subjects of current interest in electrical and computer engineering.

ELEC_ENG 100-0 Electrons, Photons, and Bits: Adventures in Electrical and Computer Engineering (1 Unit)   Introduction to contemporary topics in electrical engineering (5 weeks) and computer engineering (5 weeks) via lectures, demonstrations, and lab tours. No exams, but two in-depth term papers are required: the first on an electrical engineering topic reviewed during the first half of the course, and the second on a computer engineering topic reviewed during the second half of the course.

ELEC_ENG 195-0 Special Topics in Electrical Engineering (1 Unit)   Topics suggested by students or faculty and approved by the department.

ELEC_ENG 202-0 Introduction to Electrical Engineering (1 Unit)   Introduction to fundamental concepts and applications of electrical engineering. Topics include: circuit analysis from dc resistive networks to networks of impedances operating in the sinusoidal steady-state; circuit simplification and the Thevenin equivalent circuit; complex numbers and phasors; series and parallel inductor-capacitor resonance; simple analog filters; power transfer and impedance matching; op amps realizing active filters; signal spectra and the Fourier transform; signal sampling and aliasing; bandwidth and channel capacity; simple feedback and control systems; semiconductor electronics and devices including diodes, transistors, light-emitting diodes, and lasers.

ELEC_ENG 221-0 Fundamentals of Circuits (1 Unit)   Fundamental concepts in electrical circuits; circuit analysis and network theorems; linearity and superposition; series/parallel combinations of R, L, and C circuits; sinusoidal forcing; complex frequency and Bode plots; mutual inductance and transformers; two port networks. Prerequisite: ELEC_ENG 202-0.

ELEC_ENG 222-0 Fundamentals of Signals & Systems (1 Unit)   Comprehensive introduction to analysis of continuous and discrete-time signals and systems. Linear time-invariant systems, convolution. Fourier series representations of periodic signals. Continuous and discrete-time Fourier transforms. Laplace transform; z-transform. Prerequisite: ELEC_ENG 202-0.

ELEC_ENG 223-0 Fundamentals of Solid State Engineering (1 Unit)   Crystalline state of matter; quantum phenomena and quantum mechanics; electrons in atoms, atoms in crystals, electrons in crystals; semiconductors; thermal properties of crystals, electrical properties of crystals and semiconductors; pn junction. Prerequisites: ELEC_ENG 202-0; PHYSICS 135-3; MATH 228-2.

ELEC_ENG 224-0 Fund of Electromagnetics & Photonics (1 Unit)   Introduction to electromagnetic waves in electrical engineering. Topics include: analysis of transmission lines in the time domain and the sinusoidal steady-state; fundamentals of electrostatics and magnetostatics; Maxwell's equations for time-varying electromagnetic fields; plane electromagnetic wave propagation, reflection, and transmission at material interfaces; Poynting's theorem; introduction to fiber optics and photonics. Prerequisites: (ELEC_ENG 202-0 and ELEC_ENG 221-0 and PHYSICS 135-2 and MATH 228-2) or consent of instructor.

ELEC_ENG 225-0 Fundamentals of Electronics (1 Unit)   Diode, BJT, and FET circuits; design using ideal operational amplifiers; feedback; frequency response; biasing; current sources and mirrors; small-signal analysis; design of operational amplifiers. Prerequisites: ELEC_ENG 221-0.

ELEC_ENG 250-0 Physical Electronics and Devices (1 Unit)   The physical basis of electronic and optoelectronic devices and their application in analog and digital systems. Diodes, transistors, LEDs, photodetectors, and lasers are described, and their properties explored. Prerequisites: ELEC_ENG 221-0; PHYSICS 135-2.

ELEC_ENG 295-0 Special Topics in Electrical Engineering (1 Unit)   Topics suggested by students or faculty and approved by the department.

ELEC_ENG 302-0 Probabilistic Systems (1 Unit)  

Introduction to probability theory and its applications. Axioms of probability, distributions, discrete and continuous random variables, conditional and joint distributions, correlation, limit laws, connection to statistics, and applications in engineering systems. May not receive credit for both ELEC_ENG 302-0 and any of the following: IEMS 202-0; MATH 310-1; STAT 320-1; ELEC_ENG 383-0, ELEC_ENG 385-0. Corequisite: MATH 228-2 or equivalent.

ELEC_ENG 307-0 Communications Systems (1 Unit)  

Analysis of analog and digital communications systems, including modulation, transmission, and demodulation of AM, FM, and TV systems. Design issues, channel distortion and loss, bandwidth limitations, additive noise.

Prerequisites: ELEC_ENG 222-0, ELEC_ENG 302-0 or equivalent.

ELEC_ENG 308-0 Applied Electromagnetics and Photonics (1 Unit)  

Electromagnetic wave behavior and design of metallic, dielectric, and optical waveguides and antennas and antenna arrays. Electromagnetic wave fundamentals of wireless communications systems and radar techniques.

Prerequisite: ELEC_ENG 224-0.

ELEC_ENG 326-0 Electronic System Design I (1 Unit)  

This fast-paced course will teach a student how to go from a project idea to a fully functional prototype implementation. This involves a printed circuit design using PCB CAD software, surface mount soldering, MCU programming, CAD design for 3D printing, and web design. This course has been approved as an Electrical Engineering Technical Elective to be included in the 2020-2021 Catalog. Current electrical engineering students can petition to use it as a technical elective.

Prerequisite: Students must have completed (ELEC_ENG 225-0 and COMP_SCI 211-0), or MECH_ENG 333-0, or graduate standing, or instructor consent.

ELEC_ENG 327-0 Electronic System Design II: Project (1 Unit)  

This course puts to practice the knowledge gained in Electronic System Design I, and have students create a fully functional prototype implementation. This involves the same principles as in Electronic System Design I, but more independently, and with some design optimization. The course will also focus on team management and presentation skills, culminating in a project fair to the public. For a student with senior standing, this course can count towards the Design Degree Requirement in EE.

Prerequisite: ELEC_ENG 326-0 or instructor consent.

ELEC_ENG 328-0 Information Theory & Learning (1 Unit)   This course gives students analytical tools to quantify information, perform inference, and study the relationship of information and learning. The course covers information measures, the source and the channel coding theorems, statistical inference, and learning with neural networks. In particular, the course explores a common set of models and tools used by both machine learning and state-of-the-art data compression and error-control codes. This course is aimed at undergraduate students in engineering, science, mathematics, and computing. It expects familiarity with undergraduate-level calculus, probability theory, and linear algebra. Prerequisite: Basic probability theory (ELEC_ENG 302-0 or equivalent).

ELEC_ENG 331-0 Introduction to Computational Photography (1 Unit)  

Fundamentals of digital imaging and modern camera architectures. Hands-on experience acquiring, characterizing, and manipulating data captured using a modern camera platform.

Prerequisite: COMP_SCI 150 or COMP_SCI 211 or Consent of Instructor.

ELEC_ENG 332-0 Introduction to Computer Vision (1 Unit)  

Computer and biological vision systems, image formation, edge detection, image segmentation, texture, representation and analysis of two-dimensional geometric structures and of three-dimensional structures.

Prerequisites: COMP_SCI 212-0 or ELEC_ENG 302-0 or equivalent or graduate standing.

ELEC_ENG 333-0 Introduction to Communication Networks (1 Unit)  

Data communication basics. Telephone, cellular, cable, and computer networks. Layered network architectures, models, and protocols. Switching, routing, flow control, and congestion control. Medium access control, ARQ, and local area networks. Queuing models and network performance analysis.

Prerequisite: ELEC_ENG 302-0 or equivalent.

ELEC_ENG 334-0 Fundamentals of Blockchains and Decentralization (1 Unit)  

This course is partly an introduction to the fundamentals of blockchains and decentralized applications and partly a springboard toward deeper understanding and further exploration. The course explains how blockchains work; teaches the underlying fundamentals of distributed consensus; provides hands-on experience through computer assignments; and also touches upon economic and policy issues.

Prerequisites: COMP_SCI 212-0 or ELEC_ENG 302-0 or equivalent or graduate standing and basic programming skills.

ELEC_ENG 335-0 Deep Learning Foundations from Scratch (1 Unit)   The course covers the fundamentals of deep learning and numerical optimization, with many application examples.

ELEC_ENG 353-0 Digital Microelectronics (1 Unit)  

Logic families, comparators, A/D and D/A converters, combinational systems, sequential systems, solid-state memory, largescale integrated circuits, and design of electronic systems.

Prerequisites: COMP_ENG 203-0, ELEC_ENG 225-0.

ELEC_ENG 359-0 Digital Signal Processing (1 Unit)  

Discrete-time signals and systems. Discrete-time Fourier transform, z-transform, discrete Fourier transform, digital filters.

Prerequisite: ELEC_ENG 222-0.

ELEC_ENG 360-0 Introduction to Feedback Systems (1 Unit)  

Linear feedback control systems, their physical behavior, dynamical analysis, and stability. Laplace transform, frequency spectrum, and root locus methods. System design and compensation using PID and lead-lag controllers. Digital implementations of analog controllers.

Prerequisite: ELEC_ENG 222-0 or MECH_ENG 390-0 or BMD_ENG 309-0 or equivalent.

ELEC_ENG 363-0 Digital Filtering (1 Unit)  

Recursive and nonrecursive digital filters, decimation and interpolation, A/D and D/A conversion as digital filtering problems. Implementation of nonrecursive filters via FFT, quantization problems (e.g., companding and limit cycles).

Prerequisite: ELEC_ENG 359-0.

ELEC_ENG 372-1 Robot Design Studio (1 Unit)  

In this course, teams of students will design and build robots. For instance, teams may build robots inspired by the Summer Olympics: a robot that can perform on the uneven bars, that can skate a half-pipe, or or that can do flips on a BMX bike. The ultimate goal is to build a robust, elegant machine capable of performing exciting dynamic feats. Along the way, students will refine skills in mechatronics, electromechanical design, real-time programming, sensor selection and integration, motor/transmission design, and feedback control.

Prerequisite: Consent of Instructor.

ELEC_ENG 372-2 Robot Design Studio (1 Unit)  

In this course, teams of students will design and build robots. For instance, teams may build robots inspired by the Summer Olympics: a robot that can perform on the uneven bars, that can skate a half-pipe, or that can do flips on a BMX bike. The ultimate goal is to build a robust, elegant machine capable of performing exciting dynamic feats. Along the way, students will refine skills in mechatronics, electromechanical design, real-time programming, sensor selection and integration, motor/transmission design, and feedback control.

Prerequisite: ELEC_ENG 372-1.

ELEC_ENG 373-0 Deep Reinforcement Learning (1 Unit)   Fundamentals of Deep Reinforcement Learning starting from its roots in dynamic programming and optimal control, and ending with some of the most popular applications in practice today; basic Q-Learning algorithm and its extensions; deep Q-Learning. Through exercises and a final course project students will gain significant hands-on experience coding up and testing reinforcement systems on a variety of interesting problems. Prerequisites: ELEC_ENG 375-0 and ELEC_ENG 335-0.

ELEC_ENG 374-0 Introduction to Digital Control (1 Unit)  

Discrete dynamics systems; discrete models of continuous systems feedback and digital controllers; analog-digital conversion; digital control design including PID, lead/lag, deadbeat, and mode-lmatching controllers.

Prerequisite: ELEC_ENG 360-0.

ELEC_ENG 375-0 Machine Learning: Foundations, Applications, and Algorithms (1 Unit)   The course covers the fundamentals of machine learning and numerical optimization, with many application examples.

ELEC_ENG 378-0 Digital Communications (1 Unit)  

Sampling and time-division multiplexing, baseband digital signals and systems. Coded pulse modulation, error control coding, digital modulation systems, information measure and source encoding, and introduction to spread spectrum communications.

Prerequisite: ELEC_ENG 302-0 or equivalent.

ELEC_ENG 379-0 Lasers and Coherent Optics (1 Unit)  

Optical resonators; fundamental operation of lasers; mode-locking and Q-switching; optical propagation and diffraction; Gaussian beams; thin-lens imaging; optical signal processing.

ELEC_ENG 380-0 Wireless Communications (1 Unit)  

Overview of existing and emerging wireless communications systems; interference, blocking, and spectral efficiency; radio propagation and fading models; performance of digital modulation in the presence of fading; diversity techniques; code-division multiple access.

Prerequisite: ELEC_ENG 378-0.

ELEC_ENG 381-0 Electronic Properties of Materials (1 Unit)  

Fundamental properties of electrons in materials. Classical and quantum mechanical descriptions of free and bound electrons. Optical, electrical, thermal, and magnetic properties of materials. Microelectronic, optoelectronic, magnetic recording, superconductivity.

Prerequisite: ELEC_ENG 223-0 or consent of instructor.

ELEC_ENG 382-0 Photonic Information Processing (1 Unit)  

Introduction to photonic information processing; coherent and incoherent light; electro-optic and acousto-optic modulation; optical signal processing; holography; optical storage.

Prerequisites: ELEC_ENG 222-0 and ELEC_ENG 224-0 or consent of instructor.

ELEC_ENG 383-0 Fiber-Optic Communications (1 Unit)  

Semiconductor diode lasers, internal modulation, electro-optic modulation, coherent and incoherent detection, optical fibers and their properties, optical amplifiers, communication systems, optical networks.

Prerequisites: ELEC_ENG 223-0, ELEC_ENG 224-0.

ELEC_ENG 384-0 Solid State Electronic Devices (1 Unit)  

Energy-band model for semiconductors; carrier statistics and transport; diodes, bipolar and field-effect transistors; integrated circuits, optoelectronic and heterojunction devices.

Prerequisite: ELEC_ENG 381-0 or consent of instructor.

ELEC_ENG 385-0 Optoelectronics (1 Unit)  

Introduction to solid-state optoelectronic devices; display devices, laser diodes, photodetectors, and light modulators; optical waveguides and fibers; system application of optoelectronic devices.

Prerequisite: ELEC_ENG 381-0 or consent of instructor.

ELEC_ENG 387-0 Advanced Digital Systems Design with FPGAs (1 Unit)  

This course covers the systematic design of advanced digital systems using field programmable gate arrays (FPGAs). The course presents a top-down design methodology, where students learn how to translate software applications in high-level level languages (such as C/C++) into SystemVerilog models to run on FPGAs. The course focuses on designing real-time high-performance computing applications using industry-standard methodologies, with an emphasis on simulation-based verification and debugging.

ELEC_ENG 388-0 Nanotechnology (1 Unit)  

Physics and fabrication of photonic and electronic devices. Physics of semiconductors: crystal structures, reciprocal lattice, elements of quantum mechanics, heterojunctions, quantum wells, and super-lattices. Bulk crystal, thin-film, and epitaxial growth technologies. Device processing technologies: diffusion oxidation, ion implantation, annealing, etching, and photolithography.

Prerequisite: ELEC_ENG 223-0 or consent of instructor.

ELEC_ENG 389-0 Superconductivity and Its Applications (1 Unit)  

Properties of materials in the superconducting state; charge flow dynamics of type II superconductors; highTc superconductors; applications for computers and high-frequency devices.

Prerequisite: ELEC_ENG 381-0 or consent of instructor.

ELEC_ENG 390-0 Introduction to Robotics (1 Unit)  

Homogeneous vectors and planes; homogeneous transformation, position and orientation transformations, kinematics and inverse kinematic solutions of robot manipulators; Jacobian and inverse Jacobian relation; robot trajectory and task planning; dynamic formulation and computation of robot manipulators; robot programming and control systems.

Prerequisite: COMP_SCI 230-0.

ELEC_ENG 395-0 Special Topics in Electrical Engineering (1 Unit)  

Topics suggested by students or faculty and approved by the department.

ELEC_ENG 398-0 Electrical Engineering Design (1 Unit)   Design of electrical and electronic devices, circuits, and systems by the application of the engineering sciences, economics, and Institute of Electrical and Electronics Engineers or other national standards. Prerequisite: senior standing.

ELEC_ENG 399-0 Projects (1 Unit)   Seminar and projects for advanced undergraduates on subjects of current interest in electrical and computer engineering.