Courses

All courses carry 3 credits unless otherwise specified.

522 Modeling and Verification of Embedded Systems
Embedded systems sense, actuate, compute, and communicate to accomplish tasks in domains such as medical, automotive, and industrial controls. Informal methods of hacking together embedded systems are at odds with the criticality of their applications. This course will introduce developments toward formal modeling of embedded and cyber-physical systems, and techniques for verifying properties of embedded systems. Students taking the course should have a basic understanding of logic gates and finite state machines.

523 Design Principles for Low Power Embedded Computer Systems
This course provides an overview of the core design principles used in the holistic design of low power embedded computing systems. Modern embedded system design use co-design of both hardware and software subsystems to achieve energy efficiency. The content of this class builds on foundational ECE courses in circuits, low level software design, machine learning, and signal processing. Prior courses in in at least one of these areas is recommended as a prerequisite.

527 Artificial Intelligence Based Wireless Network Design
This course focuses on the evolution, fundamentals, and challenges of 5G/6G wireless network design. Preliminary knowledge on networking and machine learning is encouraged.

528 Data-Driven Decarbonization of Electricity Networks
This course examines applications of Data Science in the planning and operations of decarbonized electrical power networks. The course covers (i.) basic power systems concepts for centralized and distributed electricity generation and storage (ii.) an introduction to relevant methods in geospatial data analysis and machine learning, and (iii.) trends affecting the electricity sector, with a focus on decarbonizing supplies and electrifying end-uses. This course incorporates a significant programming component, with assignments on electricity supply implications from fluctuating solar photovoltaic and wind generation; integrated electricity system planning including grids, microgrids, solar home systems, and energy storage; and demand side management, including smart appliances and electric vehicles.

529 Applied Machine Learning
This course introduces concepts, techniques, and algorithms from artificial intelligence and machine learning, such as classification, regression, support vector machines, decision trees, neural networks, and deep neural networks. The application of these techniques to solve practical problems on computing and embedded systems is a focus of this course. Project assignments are used to reinforce concepts learned in lectures.

535 Networked Embedded Systems Design
This course introduces the students to the design of embedded systems with a focus in emerging cyber-physical systems and internet of things applications such as health care, connected vehicles, and augmented/virtual reality. This course presents the unique capabilities of embedded technologies, and takes a holistic approach to design end-to-end systems. These systems span various thrusts that cut across both horizontal and vertical architectural layers. Focused horizontal thrusts are, 1) hardware platforms for emerging applications at the edge, 2) software for bare-metal platforms, and embedded OS 3) network-based coordination for distributed entities and 4) cloud-based services for compute-intensive tasks. It also dives into details of vertical thrusts cutting across all layers such as security-aware design, learning based modeling, and resource optimizations in current systems. Finally, the course explores system and security issues that arise with a human-in-the-loop of embedded systems design. Prior coursework on ECE 231 - Introduction to Embedded Systems or equivalent and ECE 122 - Introduction to Programming for ECE will be beneficial.

545 Network Security and Privacy
Introduction to fundamental concepts in network security and data privacy. Network security topics covered include principles of cryptography, secure protocols such as TLS, and firewalls. We will also cover privacy topics including Web privacy and privacy-preserving data analytics such as differential privacy, homomorphic encryption, secure multiparty computation.

547 Security Engineering
Introduction to the new area of Security Engineering, and provides examples drawn from recent research at UMASS and elsewhere. Security Engineering is a multi-disciplinary field combining technical aspects of Applied Cryptography, Computer Engineering, and Networking as well as issues from Psychology, Sociology, Policy and Economics. Several guest lectures will be presented by experts in these disciplines.

550 Introduction to Quantum Computing
This course will define qubits and qubit logical gates starting from fundamental quantum mechanics and quantum optics all the way up to circuit level programming of quantum algorithms run on actual quantum computers via the cloud. It is designed to introduce engineers to quantum hardware and quantum programming. Students should be familiar with vector notation of electromagnetic fields and waves, and very comfortable with linear algebra and programming in Python.

551 Introduction to Biosensors and Bioelectronics
Introduces key concepts in biosensors and bioelectronics. The course starts from the basics of molecular and cellular biology, followed by discussions on important biomedical devices and system in electrical, optical, magnetic and mechanical domains. The class will focus on working principles, basic concepts, and important bio-EE applications. It has prerequisites on semiconductor devices and electronics.

556 Introduction to Cryptography
A course on the theory and practice of cryptography. The main focus is on how crypto algorithms and protocols work, and how they can be applied in the real world. Prerequisites: Recommended: Courses in Discrete Mathematics and Finite Field Mathematics.

557 Machine Learning and Systems
Machine learning is widely employed in a range of applications. This course has two parts. The first part is about ML systems, which will talk about the most recent research in machine learning, such as efficient model training, inference, and serving, distributed and parallel learning algorithms and systems, ML programming models and abstractions. The second part is about ML for systems, where ML is deployed to solve system problems, such as identifying performance, reliability, and scalability issues in both static and dynamic scenarios. This course will review cutting-edge research on these topics and allow students to work on a hands-on project. This course will primarily involve reading, presenting, and discussing recent research papers in ML and systems, and a final project focusing on the combination of ML and system topic, either using ML to improve the system or improving a ML system (e.g., inference or training). Some knowledge of Python, and ECE322 and either ECE570 or ECE670 are preferred.

558 Introduction to VLSI Design
With lab. Introduction to VLSI design and custom design methodology in MOS. Topics include: MOS devices and circuits, fabrication, structures, sub-system and system design, layout, CAD techniques, and testing. Prerequisites: E&C-ENG 212 and 232 or equivalent. Credit, 4.

559 VLSI Design Project
The design of very large scale integrated circuits. Experience in VLSI design through team projects emphasizing issues involved in the design of an entire custom chip. CAD tools used in the design process, resulting in specification of circuitry suitable for fabrication. Prerequisite: E&C-ENG 558 or equivalent.

564 Communication Systems
Waveform coding, source coding and data compression. Pulse modulation systems: signal spaces, optimal receivers, probability of error. Baseband and bandpass data transmission. Introduction to channel coding. Prerequisite: ECE 563.

565 Digital Signal Processing and Representation
Signal sampling and reconstruction. Z Transforms for systems analysis: transfer functions, stability. IIR and FIR digital filter design. Minimum phase, all-pass, and linear phase filters. Implementation of DT systems. Signal representations in vector spaces. Linear inverse problems. Matrix approximation using least squares. Computing solutions to linear least squares problems. Prerequisite: E&C-ENG 563 or equivalent. 

566 Image Processing
The field of Image Processing is concerned with the study of computational approaches for the analysis, storage, and interpretation of digital content. In modern times, Image Processing applications have expanded to include an assortment of fields ranging from medical diagnostics to remote sensing to AI. This course introduces students to basic concepts and techniques in digital image processing. Topics covered will include characterization and representation of digital images, image enhancement, image restoration, image analysis, and image segmentation. This course assumes familiarity with the content of a introductory course in signals and systems (ECE 213), with topics such as signal transformations, convolution and LTI systems, Fourier Transform and Series.  Basic understanding of random variables and probability distributions is also required.  Knowledge of MATLAB and Python programming is necessary to complete computer assignments. Understanding of discrete signal and system concepts, while not required, is advantageous. Prerequisite: E&C-ENG 214 or equivalent.

567 Synthesis and Verification of Digital Systems
The course presents a modern approach to logic design and verification of digital circuits. Topics in logic synthesis cover high-level and architectural synthesis, decision and word-level diagrams, combinational and sequential logic optimization. Topics in verification include: simulation-based validation and functional test generation; formal verification techniques; combinational and sequential equivalence checking; and Boolean satisfiability (SAT). Prerequisite: introductory digital circuits; hardware design and organization (undergraduate level). Open to senior undergraduate students.

568 Computer Architecture
Quantitative study of pipelined processor architectures, memory hierarchy, cache memory, Input/Output, RISC processors and vector machines. Prerequisite: E&C-ENG 232 or equivalent.

570 Operating Systems
An introduction to software systems with emphasis on operating system design and implementation. Computer architecture and system software interaction. Topics include process management, threading, synchronization, deadlocks, scheduling, security, IO systems, and distributed systems. Prerequisites: E&C-ENG 232 and 242 or equivalent.

571 Microelectronic Fabrication
With lab. Semiconductor instructional processing laboratory (SIPL) and lectures. Principles and practice of modern microelectronic silicon device processing. Theory and practice of basic processing technology including photo-lithography, oxidation, diffusion, thin film deposition, ion implantation, packaging, yield, and process integration. State-of-the-art laboratory fabrication of working microelectronic devices and process simulation techniques. Prerequisite: E&C-ENG 344 or equivalent. Credit, 4.

572 Optoelectronics
Theory and applications of modern optoelectronic components such as waveguides and optical fibers, photodetectors, light emitting diodes, and semiconductor lasers. Emphasis on the physics and operating characteristics of optoelectronic semiconductor devices. Prerequisite: E&C-ENG 344 or equivalent.

573 Introduction to Photonics
This course is the first introductory course in the field of photonics and introduces students to the fundamental operating principles of optical components and photonic devices. Three different descriptions of optical propagation and interaction (geometrical optics, wave optics, and electromagnetic optics) with increasing complexity and accuracy are presented. Physical phenomena and photonic devices whose operation can be described within the scope of each theory are introduced and discussed.

576 Neuromorph Engineering
Introduction to fundamental biological neuron models, algorithms and techniques for learning spatiotemporal patterns, and software frameworks for implementing spike-based computation. Understanding of the hardware foundation for bio-inspired computation from transistors and emerging devices to neuromorphic circuits and systems. Investigation of low-power, low-latency applications of neuromorphic engineering in machine vision, robotics, autonomous vehicles, etc.

579 Math Tools for Data Science & Machine Learning
This course covers mathematical tools needed for courses in data science such as machine learning, data mining, neural networks, etc. It motivates the topics by real-word applications and discusses how they can be used in data analytics algorithms.

580 Feedback Control Systems
Time domain and frequency domain analysis and synthesis techniques for linear continuous-time feedback control systems. Topics include benefits and costs of feedback, modeling of dynamic systems, steady-state and transient performance, stability, PID control, root locus, frequency response, Nyquist stability criterion, and introduction to loop-shaping. Prerequisite: E&C-ENG 313 or equivalent, or consent of instructor. 

584 Microwave Engineering I
With lab. Electromagnetic theory applied to microwave propagation in waveguides, coaxial lines, microstrip lines, and striplines. Microwave circuit theory applied to matching networks and passive microwave devices. S-parameters, ABCD parameters, couplers, and equivalent circuits. Prerequisite: E&C-ENG 333 or equivalent. Credit, 4.

585 Microwave Engineering II
Analysis and design of passive microwave devices, including resonators, filters, and ferrite devices in various transmission-line media. Noise and noise effects in detectors, mixers, and modulators. Introduction to FET amplifier design. Prerequisite: E&C-ENG 584 or equivalent.

587 Introduction to Antennas and Propagation
This course introduces antennas and radiowave propagation for microwave frequency applications. Antenna topics include basic antenna parameters, antennas in communication and radar systems, wire antennas, and microstrip patch antennas. Propagation topics include direct transmission between a transmitter and a receiver, reflection and refraction, and propagation properties in ionosphere. In a team project, students will design and simulate an antenna for a communication or radar application of choice.

590STA Power System Analysis
This course is one of the most fundamental courses in electric power engineering. It covers a review of AC circuit analysis, AC power, the representation of power system components, per unit analysis, transformers, transmission line parameters and steady-state operations, as well as power flow analysis. The course also introduces students to software tools for power system analysis, such as PowerWorld.

596 Independent Study

601 Machine Learning for Engineers
Machine learning is the practice of programming computers to learn and improve prediction through experience and data, and it is becoming pervasive in technology and science. This course will cover the mathematical underpinnings, algorithms, and practices that enable a computer to learn. Topics will include supervised learning, unsupervised learning, evaluation methodologies, and deep learning. The prerequisites of this course include introductory courses in linear algebra (e.g ECE 201 or Math 235), multivariate calculus (e.g., Math 233), and probability (e.g., ECE 214). Knowledge of Python programming is necessary to complete computer assignments and projects. Knowledge of vector spaces concepts, such as norms and vector products (e.g., ECE 565) and matrix algebra is desirable.

603 Probability and Random Processes
Elementary probability theory including random variables, p.d.f., c.d.f., generating functions, law of large numbers.  Elementary stochastic process theory including covariance and power spectral density. Markov processes and applications. Prerequisite: E&C-ENG 364 or equivalent.

604 Linear Systems Theory
Matrix analysis, state variables, state space techniques for continuous time systems, matrix fraction descriptions. Controllability, observability, realization theory. Feedback and observers. Stability analysis.

606 Electromagnetic Field Theory
Electromagnetic fields in dielectric and lossy media, transmission lines, antennas and resonators treated with the concepts of duality, image theory, reciprocity, integral equations and other techniques. Boundary and initial value problems solved for several frequently encountered symmetries. Prerequisite: E&C-ENG 333 or equivalent undergraduate engineering Electromagnetic Theory.

607 Quantum Theory for ECE
Quantum mechanical principles and formalism. Description of quantum systems and phenomena relevant to electrical and computer engineering. Common foundation for advanced study and work in semiconductor materials and devices, nanoelectronics, optical and quantum electronics, quantum information and computation, and other emerging applications. Prerequisite: E&C-ENG 344 or equivalent.

608 Signal Theory
Unified treatment of techniques for representation of signals and signal processing operations. Emphasis on physical interpretation of vector spaces, linear operators, transform theory, and digital signal processing with wavelet filter banks. Prerequisite: graduate standing.

609 Semiconductor Devices
In-depth examination of semiconductor devices. The physics of semiconductors, p-n junction diodes, bipolar transistors, Schottky barriers, JFETs, and MOSFETs. Beyond-CMOS devices will be explored through additional readings and a term paper. Prerequisite: E&C-ENG 344, or introductory semiconductor theory course.

610 Foundations of Computer Engineering
This course will teach students basic experimental methodologies in electrical and computer engineering required by graduate students. The course will involve hands-on experimentation and lectures which train students in these areas. A student completing the course will be prepared to complete advanced graduate courses in electrical and computer engineering.

618 Electronic, Optical, and Magnetic Properties of Materials
Physical and electronic structure of semiconductors, band theory, semiconductor statistics, scattering processes and carrier transport, optical properties, modern quantum electronic devices. Prerequisite: E&C-ENG 607 or equivalent.

622 Embedded Systems
Embedded systems sense, actuate, compute, and communicate to accomplish tasks in domains such as medical, automotive, and industrial controls. Informal methods of hacking together embedded systems are at odds with the criticality of their applications. This course will introduce recent developments toward more rigorous modeling and verification of embedded and cyber-physical systems. By the end of the course, students should understand the capabilities and limitations of different representations of embedded systems, and should be able to model (and sometimes verify) systems using appropriate abstractions.

623 Design Principles of Low-Power Embedded Computing
Overview of the core design principles used in the holistic design of low power embedded computing systems. Modern embedded system design use co-design of both hardware and software subsystems to achieve energy efficiency. The content of this class builds on foundational ECE courses in circuits, low level software design, machine learning, and signal processing. Prior courses in in at least one of these areas is recommended as a prerequisite.

627 Artificial Intelligence Based Wireless Network Design
With 5G networks being deployed worldwide, academia and industry are already shifting their attention towards 6G. This course focuses on the evolution, fundamentals, and challenges of 5G/6G wireless network design. Preliminary knowledge on networking and machine learning is encouraged.

628 Data-Driven Decarbonization of Electricity Networks
This course examines applications of Data Science in the planning and operations of decarbonized electrical power networks. The course covers (i.) basic power systems concepts for centralized and distributed electricity generation and storage (ii.) an introduction to relevant methods in geospatial data analysis and machine learning, and (iii.) trends affecting the electricity sector, with a focus on decarbonizing supplies and electrifying end-uses. This course incorporates a significant programming component, with assignments on electricity supply implications from fluctuating solar photovoltaic and wind generation; integrated electricity system planning including grids, microgrids, solar home systems, and energy storage; and demand side management, including smart appliances and electric vehicles.

629 Applied Machine Learning for the Internet of Things
Introduction to concepts, techniques, and algorithms from artificial intelligence and machine learning, such as classification, regression, support vector machines, decision trees, neural networks, and deep neural networks. The application of these techniques to solve practical problems on computing and embedded systems is a focus of this course. Project assignments are used to reinforce concepts learned in lectures

633 Stochastic Processes and Applications
This graduate-level course aims at familiarizing the students with some advanced concepts in applied probability and random processes, with emphasis on their applications in science, engineering, and finance. The goal is to help graduate students to use stochastic tools in their research. The topics can be of interest to students in engineering/computer science, mathematics, and management. A previous course in probability is required.

634 Optimal Control Systems
Optimization is ubiquitous in engineering and computer science.  A recent application is the defeat of the world Go champion by the artificial intelligence algorithms executed in Google's AlphaGo system.  Other application examples include deep learning network training, large data set clustering, and many engineering design problems.  The optimization procedure involved in these applications can be summarized in the topic of optimal control of dynamic systems where the objective function values from the current state to the end plays a critical role and a backpropagation type of computation is needed.

635 Networked Embedded Systems Design
Introduction to the design of embedded systems with a focus in emerging cyber-physical systems and internet of things applications such as health care, connected vehicles, and augmented/virtual reality. This course presents the unique capabilities of embedded technologies, and takes a holistic approach to design end-to-end systems. These systems span various thrusts that cut across both horizontal and vertical architectural layers. Focused horizontal thrusts are, 1) hardware platforms for emerging applications at the edge, 2) software for bare-metal platforms, and embedded OS 3) network based coordination for distributed entities and 4) cloud-based services for compute-intensive tasks. It also dives into details of vertical thrusts cutting across all layers such as security-aware design, learning based modeling, and resource optimizations in current systems. Finally, the course explores system and security issues that arise with a human-in-the-loop of embedded systems design. Prior coursework on ECE 231 - Introduction to Embedded Systems or equivalent and ECE 122 - Introduction to Programming for ECE will be beneficial.

636 Reconfigurable Computing
We investigate the state-of-the-art in reconfigurable computing both from a hardware and software perspective. Initially, we review in detail the basic building blocks of most reconfigurable computers, field-programmable gate arrays (FPGAs). These physical limitations are then contrasted with computer-aided design issues such as the selection of circuit component locations in devices (the placement problem) and subsequent circuit interconnection between components (the routing problems).

645 Digital Communications
Introduction to digital communications at the graduate level. Signaling formats, optimal receivers, and error probability calculations. Introduction to error control coding, source coding, and information theory. Prerequisite: undergraduate probability.

647 Security Engineering
Introduction to the new area of Security Engineering, and provides examples drawn from recent research at UMASS and elsewhere.  Security Engineering is a multi-disciplinary field combining technical aspects of Applied Cryptography, Computer Engineering, and Networking as well as issues from Psychology, Sociology, Policy and Economics.  Several guest lectures will be presented  by experts in these disciplines.

650 Introduction to Quantum Computing
Defines qubits and qubit logical gates starting from fundamental quantum mechanics and quantum optics all the way up to circuit level programming of quantum algorithms run on actual quantum computers via the cloud. It is designed to introduce engineers to quantum hardware and quantum programming. Students should be familiar with vector notation of electromagnetic fields and waves, and very comfortable with linear algebra and programming in Python.

651 Introduction to Biosensors and Bioelectronics
Introduces key concepts in biosensors and bioelectronics. The course starts from the basics of molecular and cellular biology, followed by discussions on important biomedical devices and system in electrical, optical, magnetic and mechanical domains. The class will focus on working principles, basic concepts, and important bio-EE applications. It has prerequisites on semiconductor devices and electronics. Prerequisites: ECE 323 and ECE 313, or equivalent.

654 Testing and Diagnosis of VLSI Systems

656 Introduction to Cryptography
A course on the theory and practice of cryptography. The main focus is on how crypto algorithms and protocols work, and how they can be applied in the real world. Prerequisites: Recommended: Courses in Discrete Mathematics and Finite Field Mathematics.

657 Machine Learning and Systems
Machine learning is employed in an increasingly wide range of applications. This course will cover two sides about machine learning. On one side, we will talk about recent systems research in machine learning, such as efficient training and inference, distributed and parallel learning systems, and debugging and profiling of ML applications. On the other side, we will discuss research in using machine learning for systems, e.g., identifying performance, reliability, and scalability issues.  This course will primarily involve reading, presenting, and discussing papers (1 credit), and a hands-on project of improving a system.

658 VLSI Design Principles
A graduate version of E&C-ENG 558 which includes additional readings in VLSI architecture, CAD, and systems. A more ambitious design project required, which can be related to the student’s research or possibly another advanced E&C-ENG course such as digital signal processing, control, computer architecture, or computer graphics. Prerequisites: E&C-ENG 212 and 232 or equivalent. Credit, 4.

659 Advanced VLSI Design Project
A graduate version of E&C-ENG 559. Groups of students encouraged to work on VLSI chip designs tied into VLSI research in the Electrical and Computer Engineering or Computer Science departments. Involves knowledge of some additional aspects of computer architecture, circuit design, computer arithmetic, or a particular application area such as digital signal processing, control, cryptography, or computer graphics. Use of the chip within an overall system also stressed. Prerequisite: E&C-ENG 558 or 658 or equivalent.

662 Hardware Design for Machine Learning Systems
This course studies architectural techniques for efficient hardware design for machine learning (ML) systems including training and inference. Course has three parts. First part deals with convolutional and deep neural network models. Second part deals with parallelization techniques for improving performance of ML algorithms. Last part deals with hardware design involving various acceleration techniques for improving computational efficiency of ML kernels including locality, precision in matrix multiplication and convolution; role of batch size, regularization, precision and compression in design space trade-off for efficiency vs accuracy; evaluation of performance, energy efficiency, area, and memory hierarchy.

664 VLSI Architectures
The impact of VLSI technology on digital systems and architectures. A variety of applications of these architectures explored with emphasis on digital signal processing and other arithmetic-intensive computations. Prerequisites: E&C-ENG 558, 568 or equivalent.

665 Algorithms
A graduate course in computer algorithms.  Includes algorithms for sorting, optimization, scheduling, and data management; graph algorithms; random algorithms; NP-completeness.  Prerequisites include close familiarity with data structures, probability theory, and linear algebra.

667 Synthesis and Verification of Digital Systems
Modern techniques for synthesis and verification of digital systems. Topics in synthesis cover high-level synthesis, decision diagrams, combinational and sequential logic optimization.  Topics in verification include symbolic techniques, equivalence checking, satisfiability, FSM traversal and state reachability analysis. Prerequisites: undergraduate courses in digital logic design and hardware organization.

668 Computer Architecture
A graduate version of E&C-ENG 568. Quantitative study of pipelined processor architectures, memory, Input/Output, RISC processors and vector machines. Prerequisite: undergraduate courses in digital design and hardware organization.

670 Advanced Operating Systems
A graduate version of E&C-Eng 570 which includes additional readings from research papers and coverage on concepts for specific operating system modalities, such as distributed, embedded, mobile, and secure operating systems.

671 Computer Networks
Fundamental concepts and systems aspects of computer networks. Topics include a review of the layered Internet architecture and encompass router design, lookup and classification algorithms, scheduling algorithms, congestion control, wireless protocols, and network security.

673 Introduction to Photonics
Fundamental operating principles of optical components and photonic devices. Three different descriptions of optical propagation and interaction: geometrical, wave, and electromagnetic optics. Physical phenomena and photonic devices whose operation can be described within the scope of each of these models.

673X Simulation and Evaluation of Computer Systems & Networks
Simulation techniques. Random number generators. Basic statistics for analysis of simulation results. Techniques for speeding up simulation. Simulation of processors, cache memory, and computer networks. Elementary queueing theory and Markov chains. Prerequisites: E&C-Eng 314 or equivalent; undergraduate course on computer architecture.

674 Green Computing
This course will introduce students to the area of green computing. The course will cover emerging problems associated with the rapid growth of energy consumption in modern computing infrastructures, i.e. data centers, and discuss new research focused on mitigating these problems. The course will also cover ways to leverage computation, networking, and sensing to improve the energy-efficiency of the electric grid, e.g. by automatically regulating energy consumption in buildings, homes, etc.

676 Neuromorph Engineering
Introduction to fundamental biological neuron models, algorithms and techniques for learning spatiotemporal patterns, and software frameworks for implementing spike-based computation. Understanding of the hardware foundation for bio-inspired computation from transistors and emerging devices to neuromorphic circuits and systems. Investigation of low-power, low-latency applications of neuromorphic engineering in machine vision, robotics, autonomous vehicles, etc.

678 Data Analytics
Introduction to data analytics. Data preparation, similarity and distances, association pattern mining and cluster analysis, outlier analysis, data classification, textual and time-series data, privacy issues, analysis of social networks.

679 Numerical Algorithms and Practices
This course covers various topics Scientific Computing including: basic numerical techniques of linear algebra and their applications, data formats and practices, matrix computations with an emphasis on solving sparse linear systems of equations and eigenvalue problems. Students will learn about the state-of-the-art programming practices in numerical linear algebra, and will be introduced to numerical parallel algorithms and parallel programming with OpenMP, MPI and hybrid. For students to be successful in this course they should know Linear Algebra basics, and have interests in math and programing.

682 Microwave Systems Engineering
To explore concepts related to the design, analysis, and construction of microwave systems. This course will discuss the fundamental tradeoffs governing system design: the hardware components and technologies that comprise working systems, the models used for characterizing the transmission and reception of signals, the physics of wave propagation and interaction, and estimation theory which seeks to separate signals from sources of error and guide algorithms for extracting information from received signals.

683 Active Microwave Circuits
Theory and techniques used in the design of modern microwave and millimeter wave active circuits. Emphasis on amplifier and oscillator circuits using devices such as FETs, HEMTs, HBTs and optoelectronic devices. Modern reference material used as much as possible. Prerequisite: E&C-ENG 585 or equivalent.

684 Microwave Metrology
Lecture, laboratory. Metrology fundamentals. Advanced microwave measurement techniques including error correction, de-embedding, and noise effects in amplifiers and oscillators. Prerequisites: familiarity with microwave CAD software, basic microwave theory.

686 Introduction to Radar Systems
Introduction to fundamentals of radar systems. Radar range equation, critical radar components, and system performance. Detection, modulation, noise, and propagation effects. Prerequisite: E&C-ENG 584 or equivalent.

687 Antenna Theory and Design
Analysis and synthesis of antenna elements and arrays. Topics include linear antennas, self and mutual impedances, aperture, travelling wave, and broadband antennas. Prerequisite: E&C-ENG 334 or equivalent.

688F Graduate Project – 1st Semester
This is the first semester of a two-semester project where a student works with a faculty adviser on a project. The project can be design, experimental, simulation, or theoretical. Although the overall project requires a proposal, a final report, and a final presentation, the first semester requires only a proposal and satisfactory progress toward final completion.

688P Graduate Project – 2nd Semester
This course is the second part of a two-semester project that is started in E&C-Eng 688F. The project can be design, experimental, simulation, or theoretical. The overall project grade is based on the project proposal, a final report, and a final presentation. Students must have taken E&C-ENG 688F in order to enroll in this course.

689 Phased Arrays
Phased arrays are a key component in radars, wireless and satellite communications, remote sensing and imaging systems, and in scientific instruments such as radio telescopes. This course will provide a working knowledge of the key parameters of modern phased array antenna systems. Students will learn to critically evaluate the performance of phased array antenna systems and their main building blocks, with emphasis on factors that are important for high-performance radar and communication systems. Concepts, theory models and design principles will be developed. Students will learn to perform quantitative analyses of phased array parameters at the system and subsystem level. The course will utilize a text, but much material will be drawn from other sources such as IEEE papers. To be successful in this course students should have a good background and understanding of (1) Antenna Engineering (introductory graduate level, e.g. ECE 687 or equivalent) and (2) Microwave Engineering (introductory graduate level, e.g. ECE 584/585 or equivalent).

690STA Fundamentals of Cloud Computing
This course will give students a deep exposure to cloud computing enabling technologies, its main building blocks, the design strategies behind scalable and fault tolerant cloud architectures, and an in-depth understanding through homeworks projects and exams. We learn about data center networks and their topologies, cloud transport layer, file systems, handling big data, enabling consistent data store, virtualization, and the softwarization trends in cloud computing.

696 Independent Study

698 Practicum

699 Master’s Thesis
Credit, 9.

703 Simulation and Evaluation of Computer Systems and Networks
Simulation techniques. Random number generators. Basic statistics for analysis of simulation results. Techniques for speeding up simulation. Elementary queueing theory and Markov chains. Examples from a wide range of application areas. Prerequisite: E&C-ENG 603 or equivalent.

793A, 794 Seminar in Electrical Engineering
Presentations of current research activities and literature by faculty and graduate students. Credit, 1 each semester.

796 Independent Study

899 Doctoral Dissertation
Credit, 18.