Electrical & Computer Engineering

Undergraduate Courses

BME 4011. Biomedical Signal Analysis

Cat II (offered at least every other Year).
Introduction to biomedical signal processing and analysis. Fundamental techniques to analyze and process signals that originate from biological sources: ECGs, EMGs, EEGs, blood pressure signals, etc. Course integrates physiological knowledge with the information useful for physiologic investigation and medical diagnosis and processing. Biomedical signal characterization, time domain analysis techniques (transfer functions, convolution, auto- and cross-correlation), frequency domain (Fourier analysis), continuous and discrete signals, deterministic and stochastic signal analysis methods. Analog and digital filtering. This course will be offered in 2022-23, and in alternating years thereafter.

BME 4023. Biomedical Instrumentation Design

Cat I (offered at least 1x per Year).
This course builds on the fundamental knowledge of instrumentation and sensors. Lectures cover the principles of designing, building and testing analog instruments to measure and process biomedical signals. The course is intended for students interested in the design and development of electronic bioinstrumentation. Emphasis is placed on developing the students ability to design a simple medical device to perform real-time physiological measurements.

CS 4801. Introduction to Cryptography and Communication Security

Cat I (offered at least 1x per Year).
This course provides an introduction to modern cryptography and communication security. It focuses on how cryptographic algorithms and protocols work and how to use them. The course covers the concepts of block ciphers and message authentication codes, public key encryption, digital signatures, and key establishment, as well as common examples and uses of such schemes, including the AES, RSA-OAEP, and the Digital Signature Algorithm. Basic cryptanalytic techniques and examples of practical security solutions are explored to understand how to design and evaluate modern security solutions. The course is suited for students interested in cryptography or other security related fields such as trusted computing, network and OS security, or general IT security.

ECE 1799. Frontiers and Current Issues of Electrical and Computer Engineering

Cat I (offered at least 1x per Year).
This is a seminar-based course intended for First Year students seeking to understand the breadth of activities, career choices and technology that are considered to comprise Electrical and Computer Engineering. Students considering ECE as a major, both those who are decided as well as those who are undecided should enroll in ECE 1799. The class meets once a week during the fall semester (A & B terms). Note: There are no recommended or suggested courses for this description.

ECE 2010. Introduction to Electrical and Computer Engineering

Cat I (offered at least 1x per Year).
The objective of this course is to introduce students to the broad field of electrical and computer engineering within the context of real world applications. This course is designed for first-year students who are considering ECE as a possible major or for non-ECE students fulfilling an out-of-major degree requirement. The course will introduce basic electrical circuit theory as well as analog and digital signal processing methods currently used to solve a variety of engineering design problems in areas such as entertainment and networking media, robotics, renewable energy and biomedical applications. Laboratory experiments based on these applications are used to reinforce basic concepts and develop laboratory skills, as well as to provide system-level understanding. Circuit and system simulation analysis tools are also introduced and emphasized. Topics: Basic concepts of AC/DC and Digital electrical circuits, power, linear circuit simulation and analysis, op-amp circuits, transducers, feedback, circuit equivalents and system models, first order transients, the description of sinusoidal signals and system response, analog/digital conversion, basic digital logic gates and combinatorial circuits.

ECE 2019. Sensors, Circuits, and Systems

Cat I (offered at least 1x per Year).
This course investigates commonly used sensors such as resistive temperature sensors, capacitive touch sensors, and inductive motion sensors and actuators. Numerous applications are presented to motivate coverage of fundamental operating principles of circuit elements such as resistors, capacitors, and inductors; model the signals produced by these sensors; and analyze the circuits and systems used to amplify and process these signals. After a review of Kirchhoff s current and voltage laws, fundamental analysis techniques such as Thevenin and Nortons theorems and the superposition principle are used to model and analyze sensors, circuits, and systems. Concepts from analysis of linear, time-invariant continuous-time signals and systems are introduced as necessary, including Fourier series and characterization of systems such as filters in both the frequency domain (bandwidth, transfer function) and time domain (rise time, step response). Capacitance, inductance and mutual inductance are explored as energy storage elements, including consideration of resonance and energy losses in power systems. Concepts will be reinforced with the use of laboratory exercises and computer simulation. Note: Students who have received credit for ECE 2111 may not receive credit for ECE 2019.

ECE 2029. Introduction to Digital Circuit Design

Cat I (offered at least 1x per Year).
Digital circuits are the foundation upon which the computers, cell phones, and calculators we use every day are built. This course explores these foundations by using modern digital design techniques to design, implement and test digital circuits ranging in complexity from basic logic gates to state machines that perform useful functions like calculations, counting, timing, and a host of other applications. Students will learn modern design techniques, using a hardware description language (HDL) such as Verilog to design, simulate and implement logic systems consisting of basic gates, adders, multiplexers, latches, and counters. The function and operation of programmable logic devices, such as field programmable gate arrays (FPGAs), will be described and discussed in terms of how an HDL logic design is mapped and implemented. Experiments involving the design of combinational and sequential circuits will provide students a hands-on introduction to basic digital electrical engineering concepts and the skills needed to gain more advanced skills. In the laboratory, students will construct, troubleshoot, and test the digital circuits that they have developed using a hardware description language. These custom logic designs will be implemented using FPGAs and validated using test equipment. Topics: Number representations, Boolean algebra, design and simplification of combinational circuits, arithmetic circuits, analysis and design of sequential circuits, and synchronous state machines. Lab exercises: Design, analysis and construction of combinational and sequential circuits; use of hardware description languages to implement, test, and verify digital circuits; function and operation of FPGAs. Note: Students who have received credit for ECE 2022 may not receive credit for ECE 2029.

ECE 2039. Computational Engineering

Cat I (offered at least 1x per Year).
Computational Engineering describes the methods and practices of software programming in the context of electrical and computer engineering (ECE), specifically, the construction of programs to be efficiently implemented on hardware. In this regard, the course covers programming design and methodology, developing efficient code using C programming language, hardware device abstraction, and modeling. In doing so, starting with basic programming techniques in the high-level programming language C, the course describes the relevant software and hardware device abstraction levels. Additionally, program analysis, debugging methods, issues encountered when interfacing with signals to/from external devices, and computer engineering models, such as finite state machines and timing in computing hardware, are explained. The course uses assignments/projects to provide hands-on experience with software programming to solve problems in electrical and computer engineering practice.

ECE 2049. Embedded Computing in Engineering Design

Cat I (offered at least 1x per Year).
Embedded computers are literally everywhere in modern life. On any given day we interact with and depend on dozens of small computers to make coffee, run cell phones, take pictures, play music, control elevators, manage the emissions and antilock brakes in our automobile, control a home security system, and so on. Using popular everyday devices as case studies, students in this course are introduced to the unique computing and design challenges posed by embedded systems. Students will then solve real-world design problems using small, resource constrained (time/memory/power) computing platforms. The hardware and software structure of modern embedded devices and basic interactions between embedded computers and the physical world will also be covered in lecture and as part of laboratory experiments. In the laboratory, emphasis is placed on interfacing embedded processors with common sensors and devices (e.g. temperature sensors, keypads, LCD displays, SPI ports, pulse width modulated motor controller outputs) while developing the skills needed to use embedded processors in systems design. This course is also appropriate for RBE and other engineering and CS students interested in learning about embedded system theory and design. Topics: Number/data representations, embedded system design using C, microprocessor and microcontroller architecture, program development and debugging tools for a small target processor, hardware/software dependencies, use of memory mapped peripherals, design of event driven software, time and resource management, applications case studies. Lab Exercises: Students will solve commonly encountered embedded processing problems to implement useful systems. Starting with a requirements list students will use the knowledge gained during the lectures to implement solutions to problems which explore topics such as user interfaces and interfacing with the physical world, logic flow, and timing and time constrained programming. Exercises will be performed on microcontroller and/or microprocessor based embedded systems using cross platform development tools appropriate to the target platform. Note: Students who have received credit for ECE 2801 may not receive credit for ECE 2049.

ECE 2112. Electromagnetic Fields

Cat I (offered at least 1x per Year).
The object of this course is a comprehensive treatment of electromagnetic engineering principles covering the entire application spectrum from static to dynamic field phenomena. The starting point will be the basic electric and magnetic field definitions of Coulomb and Biot-Savart leading to Gausss and Amperes laws. They form the foundation of electro- and magnetostatics fields. Students will examine capacitive and inductive systems and relate them to lumped element circuit models. By introducing temporal and spatial magnetic flux variations, Faradays law is established. The engineering implications of this law are investigated in terms of transformer and motor actions. Incorporation of the displacement current density into Amperes law and combining it with Faradays law will then culminate in the complete set of Maxwell's field equations. As a result of these equations, students will develop the concept of wave propagation in the time and frequency domain with practical applications such as wireless communication, radar, Global Positioning Systems, and microwave circuits.

ECE 2201. Microelectronic Circuits I

Cat I (offered at least 1x per Year).
This course is the first of a two-course sequence in electronic circuit design. It begins with a substantive treatment of the fundamental behavior of semiconductor materials and moves on to the semiconductor diode, the bipolar transistor, and the field-effect transistor. Laboratory exercises are provided to reinforce the theory of operation of these devices. Numerous circuit applications are considered, including: power supplies, transistor amplifiers, and FET switches. Topics include: the pn junction, diode operation, transducers, rectification, voltage regulation, limiting and clamping circuits, transistor operation, biasing, small-signal and large-signal models, transistors amplifiers, and switching applications.

ECE 2305. Introduction to Communications and Networks

Cat I (offered at least 1x per Year).
This course provides an introduction to the broad area of communications and networking, providing the context and fundamental knowledge appropriate for all electrical and computer engineers, as well as for further study in this area. The course is organized as a systems approach to communications and networking. Topics include key concepts and terminology (delay, loss, throughput, bandwidth, etc.), types of transmission media, addressing, switching, routing, networking principles and architectures, networking protocols, regulatory and applications issues.

ECE 2311. Continuous-Time Signal and System Analysis

Cat I (offered at least 1x per Year).
This course provides an introduction to time and frequency domain analysis of continuous time signals and linear systems. Topics include signal characterization and operations; singularity functions; impulse response and convolution; Fourier series; the Fourier transform and its applications; frequency-domain characterization of linear, time-invariant systems such as filters; and the Laplace transform and its applications.

ECE 2312. Discrete-Time Signal and System Analysis

Cat I (offered at least 1x per Year).
This course provides an introduction to the time and frequency domain analysis of discrete-time signals and linear systems. Topics include sampling and quantization, characterization of discrete-time sequences, the discrete-time Fourier transform, the discrete Fourier transform and its applications, the Z transform and its applications, convolution, characterization of FIR and IIR discrete-time systems, and the analysis and design of discrete-time filters. The course will include a focus on applications such as sampling and quantization, audio processing, navigation systems, and communications. Extensive use will be made of simulation tools, including Matlab.

ECE 2799. Electrical and Computer Engineering Design

Cat I (offered at least 1x per Year).
The goal of this course is to provide experience with the design of a system, component, or process. Basic sciences, mathematics, and engineering sciences are applied to convert resources to meet a stated objective. Fundamental steps of the design process are practiced, including the establishment of objectives and criteria, synthesis, analysis, manufacturability, testing, and evaluation. Student work in small teams and are encouraged to use creativity to solve specific but open-ended problems, and then present their results. ECE 2799 is strongly recommended for all students as a preparation for the design element of the MQP. It is anticipated that ECE 2799 will be of most benefit to students when taken well in advance of the MQP (late sophomore year or early junior year).

ECE 3012. Introduction to Control Systems Engineering

Cat I (offered at least 1x per Year).
This course provides an introduction to the analysis and design of continuoustime control systems. Topics covered in the course include: modeling in the frequency and time domain, characteristics of control systems time response, reduction of multiple subsystems, analysis of systems transient response, stability, steady-state errors, root locus techniques, design of PI, PD, and PID controllers via root locus, frequency response techniques, and design via frequency response. The course will not have a formal laboratory. It will include projects which will require the use of software such as MATLAB, Simulink, or Lab VIEW for analysis and design of control systems. Students may not receive credit for both ES 3011 and ECE 3012.

ECE 3113. Introduction to RF Circuit Design

Cat I (offered at least 1x per Year).
This course is designed to provide students with the basic principles of radio frequency (RF) circuit design. It concentrates on topics such as designing tuning and matching networks for analog and digital communication, satellite navigation, and radar systems. After reviewing equivalent circuit representations for RF diodes, transistors, FETs, and their input/output impedance behavior, the course examines the difference between lumped and distributed parameter systems. Characteristics impedance, standing waves, reflection coefficients, insertion loss, and group delay of RF circuits will be explained. Within the context of Maxwells theory the course will then focus on the graphical display of the reflection coefficient (Smith Chart) and its importance in designing matching circuits. Students will learn the difference between SPICE and monolithic and microwave integrated circuit analysis, and design (MMICAD) modeling. Biasing and matching networks for single and multistage amplifiers in the 900 to 2,000 MHz range are analyzed and optimized in terms of input/output impedance matching, insertion loss, and groups delays.

ECE 3204. Microelectronic Circuits II

Cat I (offered at least 1x per Year).
This course is the second of a two-course sequence in electronic circuit design. More complex circuits are analyzed and the effects of frequency and feedback are considered in detail. The course provides a comprehensive treatment of operational amplifier operation and limitations. The use of Bode plots to describe the amplitude and phase performance of circuits as a function of operating frequency is also presented. In addition, the concepts of analog signal sampling, analog-to-digital conversion and digital-to-analog conversion are presented along with techniques for interfacing analog and digital circuitry. Laboratory exercises are provided to reinforce student facility with the application of these concepts to the design of practical circuits. Topics include: transducers; differential amplifiers, inverting/non-inverting amplifiers, summers, differentiators, integrators, passive and active filers, the Schmitt trigger, monostable and a-stable oscillators, timers, sample-and-hold circuits, A/D converters, and D/A converters.

ECE 3308. Introduction to Wireless Networks

Cat I (offered at least 1x per Year).
This course is intended for students interested in obtaining a systems-level perspective of modern wireless networks. It starts with an overall understanding of telecommunication and computer communication networks. Then the fundamental theory of operation of wireless networks as well detailed description of example networks will be covered. Topics included in the course are an overview of computer networks, an overview of wireless network standards and products, radio channel modeling and medium access control, deployment of wireless infrastructures, and examples of voice- and data-oriented wireless networks using TDMA, CDMA, and CSMA access methods. With extra work, this course can be successfully completed by non-ECE students; basic concepts of radio propagation, transmission, and medium access control will be introduced as needed.

ECE 3311. Principles of Communication Systems

Cat I (offered at least 1x per Year).
This course provides an introduction to analog and digital communications systems. The bandpass transmission of analog data is motivated and typical systems are analyzed with respect to bandwidth considerations and implementation techniques. Baseband and passband digital transmission systems are introduced and investigated. Pulse shaping and intersymbol interference criteria are developed in relation to the pulse rate transmission limits of bandlimited channels. Finally, digital carrier systems and line coding are introduced in conjunction with applications to modern modem transmission schemes.

ECE 3405. Foundations and Trends in Machine Learning for Engineering

Cat I (offered at least 1x per Year).
Machine learning has achieved huge success in many engineering applications such as computer vision, gene discovery, financial forecasting, credit card fraud detection, autonomous vehicle navigation, biomedical signal modeling, wireless/radar/aerospace systems and others. The course will briefly review discrete-time signals and systems, including convolution and Fourier transforms. This course will introduce the fundamental concepts, algorithms, and theories in machine learning, including linear models, projection/nonlinear embedding methods, neural networks/deep learning, parametric/non-parametric methods, kernel machines, mixture models, and pattern recognition/classification. Also, the lectures will briefly summarize recent trends in the field to provide students with cutting-edge knowledge for engineering. The course will give the student the basic ideas and intuition behind these methods, as well as a more formal understanding of how and why they work. Students will have an opportunity to experiment with machine learning techniques and apply them in one or more application-based projects.

ECE 3500. Electric Power and Renewable Energy Systems

Cat I (offered at least 1x per Year).
Concepts integral to the generation, transmission, storage, and use of electrical power are introduced with particular emphasis on economic, environmental, and regulatory influences that have shaped the structure of our power grid for over 100 years. Power generators, including those powered by traditional fossil fuels and renewable sources, are covered, providing a background of technology evolution that leads to distributed energy resources (DERs), energy storage systems, and smart grid solutions. Three-phase lines, loads, and generators are discussed together with the need for power factor calculation and correction. Construction and performance of high voltage transmission lines is introduced. Power flow analysis across a power network from generation to transmission to consumption is provided and modeled, including consideration of basic faults at various points in the network. Methods of energy storage are considered together with basic power grid protection techniques. These technologies converge toward the construction of robust smart grids that employ advanced data analytics and communications for real-time fault identification, load balancing, and correction.

ECE 3501. Electromechanical Energy Systems

Cat I (offered at least 1x per Year).
The duality of electromechanical systems, which may be used to either generate or consume electrical power, is studied through examination of methods and machines that enable energy conversion to occur. The analysis and design of systems that employ coupled magnetic fields to convert electrical to mechanical energy and vice versa is explored using fundamental electromagnetic concepts, AC/DC systems analysis, and numerical simulation. Generator and motor machine components are modeled using magnetic circuits to demonstrate energy flow. Electric transformers are carefully considered to understand voltage and current conversion with corresponding device power losses. The principles of rotating single and polyphase systems are covered with application examples ranging from micro to industrial scale. AC/DC motors and generators are explored through a review of their physical construction, equivalent circuits, and performance characteristics. Power factor and power factor correction are examined to enable greater system efficiency. Special emphasis is given to synchronous machines, which comprise most of modern power generation, and induction machines, which are used in a myriad of everyday applications. This course includes simulations of motors and generators with some circuit analysis using circuit simulators, project work, and selected power system demonstrations.

ECE 3829. Advanced Digital System Design with FPGAs

Cat I (offered at least 1x per Year).
This course covers the systematic design of advanced digital systems using FPGAs. The emphasis is on top-down design starting with high level models using a hardware description language (such as VHDL or Verilog) as a tool for the design, synthesis, modeling, test bench development, and testing and verification of complete digital systems. These types of systems include the use of embedded soft core processors as well as lower level modules created from custom logic or imported IP blocks. Interfaces will be developed to access devices external to the FPGA such as memory or peripheral communication devices. The integration of tools and design methodologies will be addressed through a discussion of system on a chip (SOC) integration, methodologies, design for performance, and design for test. Topics: Hardware description languages, system modeling, synthesis, simulation and testing of digital circuits; Design integration to achieve specific system design goals including architecture, planning and integration, and testing; Use of soft core and IP modules to meet specific architecture and design goals. Laboratory exercises: Students will design and implement a complete sophisticated embedded digital system on an FPGA. HDL design of digital systems including lower level components and integration of higher level IP cores, simulating the design with test benches, and synthesizing and implementing these designs with FPGA development boards including interfacing to external devices. Students who have received credit for ECE 3810 may not receive credit for ECE 3829.

ECE 3849. Real-Time Embedded Systems

Cat I (offered at least 1x per Year).
This course continues the embedded systems sequence by expanding on the topics of real-time software and embedded microprocessor system architecture. The software portion of this course focuses on solving real-world problems that require an embedded system to meet strict real-time constraints with limited resources. On the hardware side, this course reviews and expands upon all the major components of an embedded microprocessor system, including the CPU, buses, memory devices and peripheral interfaces. New IO standards and devices are introduced and emphasized as needed to meet system design, IO and performance goals in both the lecture and laboratory portion of the course. Topics: Cross-compiled software development, embedded system debugging, multitasking, real-time scheduling, inter-task communication, software design for deterministic execution time, software performance analysis and optimization, device drivers, CPU architecture and organization, bus interface, memory management unit, memory devices, memory controllers, peripheral interfaces, interrupts and interrupt controllers, direct memory access. Laboratory exercises: Programming real-time applications on an embedded platform running a real-time operating system (RTOS), configuring hardware interfaces to memory and peripherals, bus timing analysis, device drivers.

ECE 4011. Biomedical Signal Analysis

Cat II (offered at least every other Year).
Introduction to biomedical signal processing and analysis. Fundamental techniques to analyze and process signals that originate from biological sources: ECGs, EMGs, EEGs, blood pressure signals, etc. Course integrates physiological knowledge with the information useful for physiologic investigation and medical diagnosis and processing. Biomedical signal characterization, time domain analysis techniques (transfer functions, convolution, auto- and cross-correlation), frequency domain (Fourier analysis), continuous and discrete signals, deterministic and stochastic signal analysis methods. Analog and digital filtering. This course will be offered in 2022-23, and in alternating years thereafter.

ECE 4023. Biomedical Instrumentation Design

Cat I (offered at least 1x per Year).
This course builds on the fundamental knowledge of instrumentation and sensors. Lectures cover the principles of designing, building and testing analog instruments to measure and process biomedical signals. The course is intended for students interested in the design and development of electronic bioinstrumentation. Emphasis is placed on developing the students ability to design a simple medical device to perform real-time physiological measurements.

ECE 4305. Software-Defined Radio Systems and Analysis

Cat I (offered at least 1x per Year).
This course provides students with hands-on exposure to the design and implementation of modern digital communication systems using software-defined radio technology. The prototyping and real-time experimentation of these systems via software-defined radio will enable greater flexibility in the assessment of design trade-offs as well as the illustration of real world operational behavior. Performance comparisons with quantitative analytical techniques will be conducted in order to reinforce digital communication system design concepts. In addition to laboratory modules, a final course project will synthesize topics covered in class. Course topics include software-defined radio architectures and implementations, digital signaling and data transmission analysis in noise, digital receiver structures (matched filtering, correlation), multicarrier communication techniques, radio frequency spectrum sensing and identification (energy detection, matched filtering), and fundamentals of radio resource management.

ECE 4503. Power Electronics And Power Management

The availability of electric power in a variety of forms is integral to modern society. Very often, electric power must be converted from one form to another to meet a specific application need this conversion process is accomplished through the use and efficient management of power electronics. Design of power electronics is introduced first by examining the performance characteristics of basic switching devices, which enable critical management functions that include pulse width modulation (PWM) and output power regulation. Half and full-wave AC source rectification and techniques for improving the resulting DC power characteristics are covered, including polyphase AC sources. AC voltage control with applications for induction motors is studied. DC-DC power conversion is examined, covering a variety of circuit architectures, with applications in feedback control. DC to AC power inversion and resulting power quality considerations are explored. The impacts of design decisions on power electronics systems, from micro- to megawatts, are demonstrated through numerical simulation. This course includes guest lectures, project work including case-studies and selected power system demonstrations.

ECE 4703. Real-Time Digital Signal Processing

Cat I (offered at least 1x per Year).
This course provides an introduction to the principles of real-time digital signal processing (DSP). The focus of this course is hands-on development of real-time signal processing algorithms using audio-based DSP kits in a laboratory environment. Basic concepts of DSP systems including sampling and quantization of continuous time signals are discussed. Tradeoffs between fixed-point and floating-point processing are exposed. Real-time considerations are discussed and efficient programming techniques leveraging the pipelined and parallel processing architecture of modern DSPs are developed. Using the audio-based DSP kits, students will implement real-time algorithms for various filtering structures and compare experimental results to theoretical predictions.

ECE 4801. Computer Organization and Design

Cat I (offered at least 1x per Year).
This course focuses on the computer organization and architectural design of standalone embedded and high-performance microprocessor systems. This course covers performance metrics, machine level representation of information, the assembly level interface, memory system organization and architecture, computer input/output, instruction set architecture (ISA) design, single cycle and multicycle CPU datapath and controlpath design as well as more advanced level topics such as pipelining, interrupts, cache and memory system design. Special attention will be paid into measuring architectural performance and into improving computer architectures at various levels of the design hierarchy to reach optimal performance. The course will include several hands-on projects and laboratory components where students will be required to perform simulations of CPU designs using architectural simulation tools such as MIPS Simulators and SimpleScalar.

ECE 4802. Introduction to Cryptography and Communication Security

Cat I (offered at least 1x per Year).
This course provides an introduction to modern cryptography and communication security. It focuses on how cryptographic algorithms and protocols work and how to use them. The course covers the concepts of block ciphers and message authentication codes, public key encryption, digital signatures, and key establishment, as well as common examples and uses of such schemes, including the AES, RSA-OAEP, and the Digital Signature Algorithm. Basic cryptanalytic techniques and examples of practical security solutions are explored to understand how to design and evaluate modern security solutions. The course is suited for students interested in cryptography or other security related fields such as trusted computing, network and OS security, or general IT security.

ECE 4901. CMOS Fundamentals

Cat I (offered at least 1x per Year).
This course introduces fundamental concepts on CMOS (Complementary Metal Oxide Semiconductor) analog and digital circuit design, emphasizing the physical implementation of integrated circuits. To develop a fundamental understanding of CMOS integrated circuit design and layout, the course begins with a description of integrated circuit fabrication technology and crucial process layers to fabricate devices in CMOS technology. With this foundation, we discuss resistors and capacitors in integrated circuit technology, followed by MOSFET capacitors and MOSFET transistors, emphasizing concepts in nanoCMOS devices such as velocity saturation and drain-induced barrier lowering. Building on earlier concepts in this course, we develop models for analog and digital integrated circuit design using MOSFET. Next, the students will learn the concept of basic digital building blocks in CMOS technology and associated timing and loading constraints. Finally, the course explores matching and sensitivity concepts through a simple circuit example, a current mirror.

ECE 4902. Analog Integrated Circuit Design

Cat II (offered at least every other Year).
This course introduces students to the design and analysis of analog integrated circuits such as operational amplifiers, phase-locked loops, and analog multipliers. Topics: integrated circuit building blocks: current mirrors and sources, differential amplifiers, voltage references and multipliers, output circuits. Computer-aided simulation of circuits. Layout of integrated circuits. Design and analysis of such circuits as operational amplifiers, phase-locked loops, FM detectors, and analog multipliers. Laboratory exercises. This course will be offered in 2021-22, and in alternating years thereafter.

ECE 4904. Semiconductor Devices

Cat II (offered at least every other Year).
The purpose of this course is to introduce students to the physics of semiconductor devices and to show how semiconductor devices operate in typical linear and nonlinear circuit applications. This material complements the electronics sequence of courses and will draw illustrative examples of electronic circuit applications from other courses. Topics: carrier transport processes in semiconductor materials. Carrier lifetime. Theory of p-n junctions. Bipolar transistors internal theory, dc characteristics, charge control, Ebers-Moll relations; high frequency and switching characteristics, hybrid-pi model; n- and p-channel MOSFETS, CMOS. Students who have received credit for ECE 3901 may not receive credit for ECE 4904. This course will be offered in 2022-23, and in alternating years thereafter.

Graduate Courses

CS 556/DS. On-Device Deep Learning

Deep Learning, a core of modern Artificial Intelligence, is rapidly expanding to resourceconstrained devices, including smartphones, wearables, and intelligent embedded systems for improving response time, privacy, and reliability. This course focuses on bringing these powerful deep-learning applications from central data centers and large GPUs to distributed ubiquitous systems. On-Device Deep Learning is an interdisciplinary topic at the intersection of artificial intelligence and ubiquitous systems, dedicated to enabling computing on edge devices. This course includes a wide range of topics related to deep learning in resource constrained settings including pruning and sparsity, quantization, neural architecture search, knowledge distillation, on-device training and transfer learning, distributed training, gradient compression, federated learning, efficient data movement and accelerator design, dynamic network inference, and advanced compression and approximation techniques for enabling on-device deep neural network inference and training. This course provides a comprehensive foundation for cutting-edge tinyML expertise

CS 587. Cyber Security Capstone Experience

To reduce cyber security theory to practice, the capstone project has students apply security concepts to real-world problems. The capstone represents a substantial evaluation of the students cyber security experience. Students are encouraged to select projects with practical experience relevant to their career goals and personal development. In the capstone, students will propose a project idea in writing with concrete milestones, receive feedback, and pursue the proposal objectives. Since cyber security is a collaborative discipline, students are encouraged to work in teams.This course is a degree requirement for the Professional Masters in Cyber Security (PM-SEC) and may not be taken before completion of 21 credits in the program. Given its particular role, this course may not be used to satisfy degree requirements for a B.S., M.S., or Ph.D. degree in Computer Science or a minor in Computer Science. Students outside the PM-SEC program must get the instructors approval before taking this course for credit.

CS 673. Advanced Cryptography

This course provides deeper insight into areas of cryptography which are of great practical and theoretical importance. The three areas treated are detailed analysis and the implementation of cryptoalgorithms, advanced protocols, and modern attacks against cryptographic schemes. The first part of the lecture focuses on public key algorithms, in particular ElGamal, elliptic curves and Diffie-Hellman key exchange. The underlying theory of Galois fields will be introduced. Implementation of performance security aspects of the algorithms will be looked at. The second part of the course deals with advanced protocols. New schemes for authentication, identification and zero-knowledge proof will be introduced. Some complex protocols for real-world application such as key distribution in networks and for smart cardswill be introduced and analyzed. The third part will look into state-of-the-art cryptoanalysis (i.e., ways to break cryptosystems). Brute force attacks based on special purpose machines, the baby-step giant-step and the Pohlig-Hellman algorithms will be discussed.

DS 577. Machine Learning in Cybersecurity

Machine Learning has proven immensely effective in a diverse set of applications. This trend has reached a new high with the application of Deep Learning virtually in any application domain. This course studies the applications of Machine Learning in the sub domain of Cybersecurity by introducing a plethora of case studies including anomaly detection in networks and computing, side-channel analysis, user authentication and biometrics etc. These case studies are discussed in detail in class, and further examples of potential applications of Machine Learning techniques including Deep Learning are outlined. The course has a strong hands-on component, i.e. students are given datasets of specific security applications and are required to perform simulations.

ECE 502. Analysis of Probabilistic Signals and Systems

Applications of probability theory and its engineering applications. Random variables, distribution and density functions. Functions of random variables, moments and characteristic functions. Sequences of random variables, stochastic convergence and the central limit theorem. Concept of a stochastic process, stationary processes and ergodicity. Correlation functions, spectral analysis and their application to linear systems. Mean square estimation.

ECE 503. Digital Signal Processing

This course develops an in-depth understanding of discrete-time signals and systems including sampling and quantization of continuous time signals, implementation and design of discrete time systems and filters, as well as time-domain, frequency-domain, and transform-domain analysis. Other advanced topics to be introduced may include: sample-rate conversion, polyphase filters, power spectrum estimation, and discrete wavelet transforms.

ECE 504. Analysis of Deterministic Signals and Systems

Review of Fourier series and linear algebra. Fourier transforms, Laplace transforms, Z transforms and their interrelationship. State space modeling of continuous-time and discrete-time systems. Canonical forms, solution of state equations, controllability, observability and stability of linear systems. Pole placement via state feedback, observer design, Lyapunov stability analysis.

ECE 505. Computer Architecture

This course introduces the fundamentals of computer system architecture and organization. Topics include CPU structure and function, addressing modes, instruction formats, memory system organization, memory mapping and hierarchies, concepts of cache and virtual memories, storage systems, standard local buses, high-performance I/O, computer communication, basic principles of operating systems, multiprogramming, multiprocessing, pipelining and memory management. The architecture principles underlying RISC and CISC processors are presented in detail. The course also includes a number of design projects, including simulating a target machine, architecture using a high-level language (HLL).

ECE 506. Introduction to Local and Wide Area Networks

This course provides an introduction to the theory and practice of the design of computer communications networks according to IEEE 802 standard model for lower layers and IETF standard for TCP/IP higher layers. Analysis of network topologies and protocols, including performance analysis, is treated. Current network types including local area and wide area networks are introduced, as are evolving network technologies. The theory, design and performance of local area networks are emphasized. The course includes application of queueing analysis to performance analysis of medium access control (MAC) and application of communication theory in design of physical layer (PHY).

ECE 5105. Introduction to Antenna Design

This course is intended for graduate and senior-level undergraduate students. The course provides an introduction to major antennas and antenna types for wireless communications. Basic antenna characteristics are studied. Both narrowband and broadband antennas as well as antenna arrays are considered. One emphasis is made on learning antenna modeling software, ANSYS HFSS and Antenna Toolbox of MATLAB. Another emphasis is made on the basic measurement hardware. The course structure is directed toward understanding antenna operations and basic antenna design, and enables students with a broad background to take this course. Course topics in particular include: transmitter-receiver antenna circuit models, antenna radiation and radiation parameters, dipole antenna family, patch antenna family, loop antenna family, reflector antennas, small antennas, antenna matching and tuning, antenna arrays, on-body and in-body antennas, antenna measurements and modeling.

ECE 5106. Modeling of Electromagnetic Fields in Electrical & Biological Systems

This course is intended for graduate and senior-level undergraduate students. Modern numerical methods and major software packages are reviewed in application to modeling electrical and biomedical sensors, bioelectromagnetics, wireless communications (including wireless body area networks), and power electronics. The course begins with an introduction to computational mesh generation. Triangular surface meshes, volumetric tetrahedral meshes, voxel meshes, and computational human phantoms are studied. The boundary element method or the method-of-moments is introduced and detailed, followed by a review of the finite element method for electromagnetic problems. The finite-difference time-domain method is another major topic of the course. The course also covers ray tracing algorithms in application to wireless networks.

ECE 514. Fundamentals of RF and MW Engineering

This introductory course develops a comprehensive understanding of Maxwells field theory as applied to high-frequency radiation, propagation and circuit phenomena. Topics include radiofrequency (RF) and microwave (MW) propagation modes, transmission line aspects, Smith Chart, scattering parameter analysis, microwave filters, matching networks, power flow relations, unilateral and bilateral amplifier designs, stability analysis, oscillators circuits, mixers and microwave antennas for wireless communication systems.

ECE 5204. Analog Circuits and Intuition

The ability to see the simplicity in a complex design problem is a skill that is not usually taught in engineering classes. Some engineers, when faced with design problems, immediately fill up pages and pages of calculations, or do complex circuit simulations or finite-element analyses. One problem with this approach is that if you get an answer, you do not know if it is correct unless you have an intuitive feel for what the answer should be. The application of some simple rules of thumb and design techniques is a possible first step to developing intuition into the behavior of complex electrical systems. This course outlines some ways of thinking about analog circuits and systems that are intended will help to develop intuition and guide design. The lectures are a mixture of instructional sessions covering new background material, and design case studies.

ECE 523. Power Electronics

The application of electronics to energy conversion and control. Electrical and thermal characteristics of power semiconductor devices diodes, bipolar transistors and thyristors. Magnetic components. State-space averaging and sampled-data models. Emphasis is placed on circuit techniques. Application examples include dc-dc conversion, controlled rectifiers, high-frequency inverters, resonant converters and excitation of electric machines.

ECE 524. Advanced Analog Integrated Circuit Design

This course is an advanced introduction to the design of analog and mixed analog-digital integrated circuits for communication and instrumentation applications. An overview of bipolar and CMOS fabrication processes shows the differences between discrete and integrated circuit design. The bipolar and MOS transistors are reviewed with basic device physics and the development of circuit models in various operating regions. The use of SPICE simulation in the design process will be covered. Integrated amplifier circuits are developed with an emphasis on understanding performance advantages and limitation in such areas as speed, noise and power dissipation. Simple circuits are combined to form the basic functional building blocks such as the op-amp, comparator, voltage reference, etc. These circuit principles will be explored in an IC design project, which may be fabricated in a commercial analog process. Examples of possible topics include sample-and-hold (S/H) amplifier, analog-to-digital (A/D) and digital-to-analog (D/A) converters, phase-locked loop (PLL), voltage-controlled oscillator, phase detector, switched capacitor and continuous-time filters, and sampled current techniques.

ECE 5307. Indoor Geolocation Science and Technology

This course covers the fundamentals of the evolving wireless localization techniques and their relation with the wireless access infrastructures for Electrical and Computer Engineering, Computer Science or other graduate students interested in this field. The course begins with an explanation of the common ground among wireless access and localization techniques which are principles of waveform transmission in multipath rich urban and indoor areas and the deployment of the infrastructure for wireless networks. This is followed by the fundamentals of received signal strength (RSS) and Time- and Angle-of-arrival (TOA/ AOA) based localization techniques, addressing applications, systems, effects of environment, performance bounds and algorithms. The course describes how wireless access methods used in wide, local and personal area networks are related to localization techniques using cellular, UWB, WiFi, and other signals of opportunity as well as mechanical sensors used in different smart phone and Robotic platforms. The emphasis on the effects of environment is on the analysis of the effects of multipath on precision of the localization techniques. The emphasis on performance evaluation is on the derivation of Cramer Rao Lower Bound (CRLB). For algorithms, the course describes fingerprinting algorithms used for RSS-based localization and super-resolution, cooperative localization, localization using multi-carrier transmission and localization using multipath diversity as well as Kalman and Particle filtering techniques used for model based localization. Examples of emerging technologies in Body Area Networking and Robotics applications are provided.

ECE 531. Principles of Detection and Estimation Theory

Detection of signals in noise, optimum receiver principles, M-ary detection, matched filters, orthogonal signals and representations of random processes. MAP and maximum likelihood estimation. Wiener filtering and Kalman filtering. Channel considerations: prewhitening, fading and diversity combining.

ECE 5311. Information Theory and Coding

This course introduces the fundamentals of information theory and discusses applications in compression and transmission of data. Measures of information, including entropy, and their properties are derived. The limits of lossless data compression are derived and practical coding schemes approaching the theoretical limits are presented. Lossy data compression tradeoffs are discussed in terms of the rate-distortion framework. The concept of reliable communication through noisy channels (channel capacity) is developed. Techniques for practical channel coding, including block and convolutional codes, are also covered.

ECE 5312. Modern Digital Communications

This course introduces a rigorous analytical treatment of modern digital communication systems, including digital modulation, demodulation, and optimal receiver design. Error performance analysis of these communication systems when operating over either noisy or band-limited channels will be conducted. Advanced topics to be covered include a subset of the following: MIMO, fading channels, multiuser communications, spread spectrum systems, and/or multicarrier transmission.

ECE 5341. Applied Medical Signal Analysis

This course provides a broad introduction to medical signal analysis, particularly tailored to students who have no prior background in physiology or medicine. The course will concentrate on signal analysis of the electrical activity of the human body, providing sufficient physiologic background for study of the relevant organ systems. System-level engineering models of the electrical activity of the heart, skeletal muscles and brain will be presented and actual physiologic signals will be analyzed. Digital signal processing algorithms for analysis of these signals will be studied extensively using MATLAB. Specific signal processing topics may include: use of muscle electrical activity to command powered prostheses and/or guide rehabilitation therapy; design of filters to reject motion artifact, noise and interference; monitoring (e.g., detection and classification) of heart, brain and muscle electrical impulses; and non-invasive estimation of muscle activation level. Students may not receive credit for ECE 5341 and either ECE 443X or ECE 539D.

ECE 538. Wireless Technologies and Applications

A preview of evolution of wireless information networking standards and technologies for personal, local and six generations of cellular networks, and the distinct role of Wi-Fi in this evolution.Radio Frequency (RF) cloud from wireless devices and embedded big data in them. Models for the behavior of features of RF signals from wireless devices: the Received Signal Strength (RSS), Time-of-Arrival (TOA), Direction of Arrival (DOA), Channel Impulse Response (CIR), and Channel State Information (CSI).Application of models for features of RF signal for design and performance evaluation of mainstream wireless communication technologies: Spread Spectrum, Orthogonal Frequency Division Multiplexing (OFDM), Multiple-Input-Multiple-Output (MIMO) antenna systems, Ultra-Wideband (UWB) and millimeter wave (mmWave) technologies.RSS and TOA features of RF fingerprints of wireless devices for opportunistic positioning and tracking using Wi-Fi and cellular signals.Application of Artificial Intelligence (AI) algorithms and RSS, CIR, and CSI fingerprints of wireless devices to motion and gesture detection, as well as authentication and security. The course is complemented with practical MATLAB oriented assignments, and multi-media supplements. Students will prepare a term paper throughout the course on a topic negotiated with the instructor.

ECE 539. Selected Topics in Communication Theory and Signal Processing

Courses in this group are devoted to the study of advanced topics in in Communication Theory and Signal Processing.

ECE 549. Selected Topics in Control

Courses in this group are devoted to the study of advanced topics in the formulation and solution of theoretical or practical problems in modern control.

ECE 5500. Power System Analysis

This graduate level course examines the principles of Power System Analysis. It will begin with a review of AC circuit analysis. The course will then cover the topics of transmission line parameter calculation, symmetrical component analysis, transformer and load modeling, symmetrical and unsymmetrical fault analysis, power flow, and power systems stability.

ECE 5510. Power Quality

This graduate level course provides detailed explanations of the physical mechanisms that control phenomena related to Power Quality. It addresses concepts that underlie harmonic generation and harmonic flow, and the modeling of voltage sags and swells. The effects of such disturbances on equipment (transformers, rotating machines, lamps, relays and converters) performance are studied by means of actual field cases. Frequency response of the grid, resonances and ferroreso-nances as well as electromagnetic interference are studied. Mitigation methods using advanced transformers connections, static, hybrid and active filters are modeled using real-life examples. Others topics covered are Power Quality measurements in the era of smart grid, Power Quality problems caused by Renewable Generators, and Engineering Economics issues related to Power Quality.

ECE 5511. Transients in Power Systems

This graduate level course introduces the student to the effects of electromagnetic transients in distribution systems. Topics include transient analysis, lightning and switching surges, mechanisms of transient generation, insulation coordination, grounding, surge protection devices, and shielding.

ECE 5512. Electromechanical Energy Conversion

This graduate level course will further explore alternating current circuits, three phase circuits, basics of electromagnetic field theory, magnetic circuits, inductance, and electromechanical energy conversion. Topics also include ideal transformer, iron-core transformer, voltage regulation, efficiency equivalent circuit, and three phase transformers. Induction machine construction, equivalent circuit, torque speed characteristics, and single phase motors, synchronous machine construction, equivalent circuit, power relationships phasor diagrams, and synchronous motors will be covered. Direct current machine construction, types, efficiency, power flow diagram, and external characteristics will be discussed.

ECE 5520. Power System Protection and Control

This graduate level course seeks to provide an understanding of how interconnected power systems and their components are protected from abnormal events such as faults (short circuits), over-voltages, off-nominal frequency and unbalanced phase conditions. This subject is presented from a theoretical viewpoint, however, many practical examples and applications are included that emphasize the limitations of existing protective equipment. Course content is not specific to any particular manufacturers equipment. The course begins with a brief review of power system operation, three-phase system calculations and the representation (modeling) of power system elements. The modeling of current transformers under steady-state and transient conditions is presented with emphasis on the impact on protective devices. A unit on system grounding and its impact on protective device operation are included. Course emphasis then shifts to protective devices and their principles of operation. Both electromechanical and numeric relay designs are covered. The final course segments cover specific applications such as pilot protection of transmission lines, generator protection and transformer protection.

ECE 5521. Protective Relaying

This graduate level course is the first of a two course sequence that covers both the principles and practices of power system protective relaying. The course seeks to provide an understanding of how interconnected power systems and their components are protected from abnormal events such as faults (short circuits), over-voltages, off-nominal frequency and unbalanced phase conditions. This subject is presented from a theoretical viewpoint, however, many practical examples are included that emphasize the limitations of existing protective equipment. Course content is not specific to any particular manufacturers equipment. The course begins with a brief review of the nature of power system operation, power system faults and other abnormal conditions. The nature and objectives of protective relaying are covered next with emphasis on how the power system can be monitored to detect abnormal conditions. The computational tools needed to analyze system operation and apply protective relaying are covered next, including the per-unit system, phasors and symmetrical components. The modeling of current transformers under steady-state and transient conditions is presented with emphasis on the impact on protective devices. A unit on system grounding and its impact on protective device operation is included. Course emphasis then shifts to protective devices and their principles of operation. Both electromechanical and numeric relay designs are covered. Note: Credit cannot be awarded for this course if credit has already been received for ECE 5520 Power System Protection and Control

ECE 5522. Advanced Applications in Protective Relaying

This graduate level course covers advanced topics in the principles and practices of power system protective relaying. The course seeks to provide an understanding of how protective relays are applied to protect power system components. While the subject is presented from a theoretical viewpoint, many practical examples are included. Examples specific to both new installations and existing, older facilities will be included. Course content is not specific to any particular manufacturers equipment. The course begins with applications of protective devices to generators. This will include distributed generation as well as wind-turbine and inverter-connected sources. Transformer protection is covered next, including application procedures for older, electromechanical relays as well as modern numeric relay designs. A unit on bus protection is covered next, including all typical high-speed and time backup bus protection schemes. Transmission line and distribution feeder protection is covered in detail including both conventional and communications-assisted schemes. The course ends with a unit on other protection applications such as under frequency load shedding, reclosing and out-of-step relaying. Note: Credit cannot be awarded for this course if credit has already been received for ECE 5520 Power System Protection and Control

ECE 5523. Power System Dynamics

This graduate level course is concerned with modeling, analyzing and mitigating power system stability and control problems. The course seeks to provide an understanding of the electromechanical dynamics of the interconnected electric power grid. This subject is presented from a theoretical viewpoint; however, many practical examples are included. The course begins with a description of the physics of the power system, frequency regulation during steady-state operation, dynamic characteristics of modern power systems, a review of feedback control systems, power system frequency regulation, and a review of protective relaying. This is followed by material on synchronous machine theory and modeling. Simulation of power system dynamic response, small signal stability, transient stability analysis using SIMULINK and effects of non-traditional power sources on systems dynamics will also be covered. Power system stabilizers, load modeling and under frequency load shedding are covered in the final lectures.

ECE 5530. Power Distribution

This graduate level course introduces the fundamentals of power distribution systems, apparatus, and practices suited to new and experienced utility distribution engineers. Topics include distribution system designs, transformers and connections, practical aspects of apparatus and protection, principles of device coordination, grounding, voltage control, and power quality.

ECE 5531. Power System Operation and Planning

This graduate-level course deals with modern operation, control and planning for power systems. Topics include: Characteristics of generating units; Economic Dispatch; Unit Commitment; Effects of the transmission system on power delivery; Optimal Power Flow and Location Marginal Pricing; Power System Security; State Estimation for Power Systems; Power System Reliability Evaluation. Software tools such as MATLAB and power system simulator software will be used both in the classroom and in some homework assignments.

ECE 5532. Distributed and Renewable Power Generation

This course introduces the characteristics and challenges of interconnecting increasing numbers of Distributed Energy Resources (DERs) to the Electric Power System (EPS). Topics include: challenges to distribution and transmission system protection; local voltage control; ride through; optimal interconnection transformer configurations; and practical engineering approaches to maintain system reliability and protection. The current and evolving interconnection standard (IEEE 1547) is included.

ECE 5540. Power Transmission

This graduate level course focuses on the theory and current professional practice in problems of electric power transmission. It begins with a review of the theory of AC electric power transmission networks and addresses a range of challenges related to reactive power and voltage control as well as steady-state and transients stability. Students will learn in detail the principles of traditional reactive power compensation (shunt reactors and capacitors); series compensation and modern static reactive compensation like SVC, STATCOM and other Flexible AC Transmission Systems (FACTS) devices. The effects of each of these types of compensation on static and dynamic voltage control, reactive power requirement and steady-state and transient stability problems are covered from theoretical as well as practical aspects. Particular attention is given to the mathematical models and principles of operation of many types of compensation systems. Basic principles of operation and control of High-Voltage DC (HVDC) systems and their impact on steady-state and dynamics of power system will be covered as well.

ECE 556. On-Device Deep Learning

Deep Learning, a core of modern Artificial Intelligence, is rapidly expanding to resourceconstrained devices, including smartphones, wearables, and intelligent embedded systems for improving response time, privacy, and reliability. This course focuses on bringing these powerful deep-learning applications from central data centers and large GPUs to distributed ubiquitous systems. On-Device Deep Learning is an interdisciplinary topic at the intersection of artificial intelligence and ubiquitous systems, dedicated to enabling computing on edge devices. This course includes a wide range of topics related to deep learning in resource constrained settings including pruning and sparsity, quantization, neural architecture search, knowledge distillation, on-device training and transfer learning, distributed training, gradient compression, federated learning, efficient data movement and accelerator design, dynamic network inference, and advanced compression and approximation techniques for enabling on-device deep neural network inference and training. This course provides a comprehensive foundation for cutting-edge tinyML expertise

ECE 559. Selected Topics in Energy Systems

Courses in this group are devoted to the study of advanced topics in energy systems. Typical topics include optimal power flow, probability methods in power systems analysis, surge phenomena, design of electrical apparatus, transient behavior of electric machines and advanced electromechanical energy conversion.

ECE 5599. Capstone Project Experience in Power Systems

This project-based course integrates power systems engineering theory and practice, and provides the opportunity to apply the skills and knowledge acquired in the Power Systems curriculum. The project is normally conducted in teams of two to four students. Students are encouraged to select projects with practical significance to their current and future professional responsibilities. The projects are administered, advised, and evaluated by WPI faculty as part of the learning experience, but students are also encouraged to seek mentorship from experienced colleagues in the Power Systems profession.

ECE 569. Selected Topics in Solid State

Courses in this group are devoted to the study of advanced topics in solid state, for example: degenerate semiconductors, many-body theory, elastic effects and phonon conduction, and solar cells. To reflect changes in faculty research interests, these courses may be modified or new courses may be added.

ECE 571. Machine Learning Engineering Applications

Cat I.
This is an introductory course for engineering students to gain basic knowledge of machine learning and its applications. This course's objective is to learn machine learning theory and then apply it in engineering practice. A major emphasis of the course is to foster the capability of combining multiple machine learning techniques in complex problem solving, such as the detection of deepfake media. Topics include supervised learning, linear regression, kernel methods, support vector machine, neural networks, unsupervised learning, clustering, principal component analysis, deep learning with convolutional neural networks, and reinforcement learning. Students will develop software to implement machine learning and deep learning algorithms for practical engineering applications.

ECE 5720. Modeling and Synthesis of Digital Systems Using Verilog

Automatic design, synthesis, verification, and modeling of complex digital systems with Verilog are the main course objectives. Verilog for modeling existing circuits, as well as Verilog for design and automatic synthesis is discussed. Using Verilog for a design that consists of a hierarchy of components that include controllers, sequential and combinational parts is focused. Design description from transistor level to software interface will be discussed. Students will learn details of hardware of processor architectures and their peripherals. The course discusses module delay adjustments using Verilog path delay and distributed delay mechanisms. Testbench development and assertion verifications will be discussed. Students will learn to simulate verify, synthesize, and program their designs on an Altera development board using advanced Altera FPGAs.

ECE 5722. Embedded Core Architectures and Core-Based Design

This course introduces the concept of design with embedded components. Embedded processors, IP cores, and bus structures are discussed here. Embedded processor architectures, architectures for arithmetic processors, I/O interfacing modules, memory interfacing, and architectures related to busses and switch fabrics for putting a complete embedded system are discussed here. Topics include RT level design, arithmetic processors, ISA, CPU structure and function, addressing modes, instruction formats, memory system organization, memory mapping and hierarchies, concepts of cache, standard local buses, IO devices, pipelining, memory management, embedded processors, embedded environments, bus and switch fabrics, and embedded system implementation. An example embedded design environment including its configurable cores and processors and its bus structure will be presented in details. The course also includes a number of design projects, including design and simulation of an embedded processor, design of an arithmetic core, and design of a complete embedded system.

ECE 5723. Methodologies for System Level Design and Modeling

This course discusses principles, methodologies and tools used for a modern hardware design process. Design flows and hardware languages needed for each stage of the design process are discussed. The use of transaction level modeling (TLM) for dealing with todays complex designs is emphasized. The course starts with a discussion of the evolution of hardware design methodologies, and then discusses the use of C++ for an algorithmic description of hardware. SystemC and its TLM derivative and the role of SystemC in high-level design will be discussed. In addition, RT level interfaces and the use of SystemC for this level of design will be covered. Timed, untimed, and approximately timed TLM models and modeling schemes will be presented. Use of TLM for fast design simulation, design space exploration, and high-level synthesis will be discussed. TLM testing methods and testing of TLM based NoCs will be discussed. The course starts with a complete design project and exercises various parts of this design as methodologies, concepts, and languages are discussed. Specific topics covered are as follows: Levels of abstraction C++ for digital design SystemC RT level and above TLM methodology TLM timing aspects TLM channels TLM channels Mixed level design NoC TLM modeling System testing

ECE 5724. Digital Systems Testing and Testable Design

This course discusses faults and fault modeling, test equipment, test generation for combinational and sequential circuits, fault simulation, memory testing, design for testability, built-in self-test techniques, boundary scan, IEEE 1149.1, and board and SoC test standards. Various fault simulation and ATPG methods including concurrent fault simulation, D-algorithm, and PODEM are discussed. Controllability and observability methods such as SCOAP for testability analysis are discussed. Various full-scan and partial scan methods are described and modeled in Verilog and tested with Verilog testbenches. BIST architectures for processor testing, memory testing and general RT level hardware testing are described, modeled in Verilog and simulated and evaluated for fault coverage. The course uses Verilog testbenches for simulating golden models, developing and evaluating test sets, and for mimicking testers.

ECE 574. Advanced Digital System Design

This course introduces digital systems design using hardware description languages and their associated tooling to capture, integrate, verify, simulate, and synthesize digital hardware. The course will examine modern hardware design flows using high-level synthesis and register-transfer-level (RTL) synthesis. The course covers the role of hardware description languages in the verification, simulation, and integration process of hardware modules in large digital systems. The course projects offer an integrated experience in advanced digital systems design combining hardware description languages, hardware design methodologies, and hardware design practice on a programmable target such as a Field Programmable Gate Array, or on a chip-level target such as a standard-cell Application-Specific Integrated Circuit.

ECE 575. Blockchain and Cryptocurrencies

The introduction of cryptocurrencies has had significant financial, socioeconomic, and technological effects. This course introduces the technical aspects of blockchain technologies, consensus protocols and cryptocurrencies. The course emphasizes the engineering aspects of blockchain implementation towards efficiency, scalability, and security in practical blockchain designs. Students will learn the basics of blockchain systems to create cryptocurrencies. They will learn to identify the performance bottlenecks in blockchain systems and study new blockchain design proposals to learn how these bottlenecks are overcome. Further, the course will also cover the basics of Ethereum and smart contracts. Students will have the chance to learn programming smart contracts.

ECE 576. Applied Cryptography and Physical Attacks

In this course, we aim to study security and trust from the hardware perspective. The three main objectives of hardware security that we will cover are secure key generation and storage as well as secure execution. Specifically, we will learn how cryptographic algorithms can become susceptible to physical attacks and how this can be prevented. Topics to be covered in this course include basics of hardware security and its objectives; random number generation; physically unclonable functions; invasive and non-invasive attacks, e.g., side-channel analysis and fault injection; counterfeit detection; semiconductor IP (Intellectual Property) protection.

ECE 577. Machine Learning in Cybersecurity

Machine Learning has proven immensely effective in a diverse set of applications. This trend has reached a new high with the application of Deep Learning virtually in any application domain. This course studies the applications of Machine Learning in the sub domain of Cybersecurity by introducing a plethora of case studies including anomaly detection in networks and computing, side-channel analysis, user authentication and biometrics etc. These case studies are discussed in detail in class, and further examples of potential applications of Machine Learning techniques including Deep Learning are outlined. The course has a strong hands-on component, i.e. students are given datasets of specific security applications and are required to perform simulations.

ECE 579. Selected Topics in Computer Engineering

Courses in this group are devoted to the study of advanced topics in computer engineering such as real-time intelligent systems, VLSI design and high-level languages.

ECE 588. Cyber Security Capstone Experience

To reduce cyber security theory to practice, the capstone project has students apply security concepts to real-world problems. The capstone represents a substantial evaluation of the students cyber security experience. Students are encouraged to select projects with practical experience relevant to their career goals and personal development. In the capstone, students will propose a project idea in writing with concrete milestones, receive feedback, and pursue the proposal objectives. Since cyber security is a collaborative discipline, students are encouraged to work in teams.This course is a degree requirement for the Professional Masters in Cyber Security (PM-SEC) and may not be taken before completion of 21 credits in the program. Given its particular role, this course may not be used to satisfy degree requirements for a B.S., M.S., or Ph.D. degree in Computer Science or a minor in Computer Science. Students outside the PM-SEC program must get the instructors approval before taking this course for credit.

ECE 596A. Graduate Seminars

The presentations in the graduate seminar series will be of tutorial nature and will be presented by recognized experts in various fields of electrical and computer engineering. All full-time graduate students will be required to take both seminar courses, ECE 596A and ECE 596B, once during their graduate studies in the Electrical and Computer Engineering Department. The course will be given Pass/Fail.

ECE 597. Independent Study

Approved study of a special subject or topics selected by the student to meet his or her particular requirements or interests. Can be technical in nature, or a review of electrical and computer engineering history and literature of importance and permanent value.

ECE 598. Directed Research

Each student will work under the direct supervision of a member of the department staff on an experimental or theoretical problem which may involve an extensive literature search, experimental procedures and analysis. A comprehensive report in the style of a technical report or paper and an oral presentation are required. (A maximum of two registrations in ECE 598 is permitted

ECE 599. Thesis

ECE 673. Advanced Cryptography

This course provides deeper insight into areas of cryptography which are of great practical and theoretical importance. The three areas treated are detailed analysis and the implementation of cryptoalgorithms, advanced protocols, and modern attacks against cryptographic schemes. The first part of the lecture focuses on public key algorithms, in particular ElGamal, elliptic curves and Diffie-Hellman key exchange. The underlying theory of Galois fields will be introduced. Implementation of performance security aspects of the algorithms will be looked at. The second part of the course deals with advanced protocols. New schemes for authentication, identification and zero-knowledge proof will be introduced. Some complex protocols for real-world application such as key distribution in networks and for smart cardswill be introduced and analyzed. The third part will look into state-of-the-art cryptoanalysis (i.e., ways to break cryptosystems). Brute force attacks based on special purpose machines, the baby-step giant-step and the Pohlig-Hellman algorithms will be discussed.

ECE 699. Ph.D. Dissertation