Electrical & Computer Engineering
Undergraduate Courses
ECE 1799. FRONTIERS AND CURRENT ISSUES OF ELECTRICAL AND COMPUTER ENGINEERING
Cat. I (1/6 unit semester course, spread out evenly over A and B terms)
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
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.
Recommended Background: high school physics, and MA 1022 (concurrent).
ECE 2019. SENSORS, CIRCUITS, AND SYSTEMS
Cat. I
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 Norton’s 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.
Recommended background: ECE 2010, MA 1024 (or equivalent),
PH 1120/21 and MA 2051 (concurrent)
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
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.
Recommended background: Introductory Electrical and Computer
Engineering concepts covered in a course such as ECE 2010 or RBE 1001, and
MA 1022.
Note: Students will not be able to receive credit for both ECE 2022 and
ECE 2029.
ECE 2049. EMBEDDED COMPUTING IN ENGINEERING DESIGN
Cat. I
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 display, 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.
Recommended Background: ECE 2010 or equivalent knowledge in basic
circuits, devices and analysis; and C language programming (CS 2301 or
equivalent)
Suggested Background: ECE 2029 or equivalent knowledge of digital logic,
logic signals and logic operations;
Note: Students who have received credit for ECE 2801 may not receive
credit for ECE 2049.
ECE 2112. ELECTROMAGNETIC FIELDS
Cat. I
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 Gauss’s and Ampere’s 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 tempora l
and spatial magnetic flux variations, Faraday’s 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 Ampere’s law and combining it
with Faraday’s 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.
Recommended background: ECE 2019.
ECE 2201. MICROELECTRONIC CIRCUITS I
Cat. I
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.
Recommended background: ECE 2019.
ECE 2305. INTRODUCTION TO COMMUNICATIONS AND NETWORKS
Cat. I
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.
Recommended background: ECE 2010.
ECE 2311. CONTINUOUS-TIME SIGNAL AND SYSTEM ANALYSIS
Cat. I
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.
Recommended background: MA 2051, ECE 2019 and a prior course in computer programming such as CS 2301 or CS 1101/2/4.
ECE 2312. DISCRETE-TIME SIGNAL AND SYSTEM ANALYSIS
Cat. I
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.
Recommended background: MA 2051, ECE 2311 and a prior course in computer programming such as CS 2301 or CS 1101/2/4.
ECE 2799. ELECTRICAL AND COMPUTER ENGINEERING DESIGN
Cat. I
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).
Recommended background: At least three of ECE 2019, ECE 2029, ECE 2049, ECE 2311.
ECE 3012. INTRODUCTION TO CONTROL SYSTEMS ENGINEERING
This course provides an introduction to the analysis and design of continuous-time 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 LabVIEW for analysis and design of control systems.
Recommended Background: Ordinary Differential Equations (MA 2051), Sensors, Circuits, and Systems (ECE 2019), and Continuous-time Signal and System Analysis (ECE 2311).
Students may not receive credit for both ES3011 and ECE3012.
ECE 3113. INTRODUCTION TO RF CIRCUIT DESIGN
Cat. I
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 Maxwell’s 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.
Recommended background: ECE 2019, ECE 3204.
Suggested background: ECE 2112.
ECE 3204. MICROELECTRONIC CIRCUITS II
Cat. I
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.
Recommended background: Introductory electronic-circuit design and analogsignal
analysis as found in ECE 2201 and ECE 2311.
ECE 3308. INTRODUCTION TO WIRELESS NETWORKS
Cat. I
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.
Recommended
background: MA 1022 and PH 1120.
Suggested background: ECE 2312 and
ECE 2305.
ECE 3311. PRINCIPLES OF COMMUNICATION SYSTEMS
Cat. I
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.
Recommended background: MA 1024 and ECE 2312.
Suggested background: ECE 2305.
ECE 340X FOUNDATIONS AND TRENDS IN MACHINE LEARNING FOR ENGINEERING
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 project.
Recommended Background: Discrete-Time Signal and System Analysis (ECE 2312)
Suggested Background: Linear Algebra (MA 2071) and Probability (MA 2621 or MA 2631)
ECE 3500. ELECTRIC POWER AND RENEWABLE ENERGY SYSTEMS
Cat. I
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.
Recommended background: ECE 2010
ECE 3501. ELECTROMECHANICAL ENERGY SYSTEMS
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.
Recommended background: ECE 3500.
Suggested background: ECE 2019, ECE 2112, and ECE 2311.
ECE 3829. ADVANCED DIGITAL SYSTEM DESIGN WITH FPGAs
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.
Recommended background: ECE 2029 and ECE 2049.
Students who have received credit for ECE 3810 may not receive credit for ECE 3829.
ECE 3849. REAL-TIME EMBEDDED SYSTEMS
Cat. I
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.
Recommended background: ECE 2029 and ECE 2049.
ECE 4011. BIOMEDICAL SIGNAL ANALYSIS
Cat. II
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.
Recommended background: ECE 2311, ECE 2312, or equivalent.
This course is offered in 2016-17, and in alternating years thereafter.
ECE 4023. BIOMEDICAL INSTRUMENTATION DESIGN
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 student’s ability to design a simple medical device to perform real-time physiological measurements.
Recommended background: BME 3012, BME 3013, ECE 2010 and ECE 2019.
ECE 4305. SOFTWARE-DEFINED RADIO SYSTEMS AND ANALYSIS
Cat. I
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.
Recommended background: ECE 3311, MA 2621, familiarity with Simulink,
familiarity with general programming.
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.
Recommended background: ECE 3204, ECE 3501.
Student who has previously received credit for ECE 3503 may not receive credit for ECE 4503.
ECE 4703. REAL-TIME DIGITAL SIGNAL PROCESSING
Cat. I
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.
Recommended background: ECE 2049, ECE 2312, some prior experience in
C programming.
Suggested background: ECE 3311.
ECE 4801. COMPUTER ORGANIZATION AND DESIGN
Cat. I
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.
Recommended Background: ECE 3849.
Suggested Background: ECE 3829.
ECE 4802. INTRODUCTION TO CRYPTOGRAPHY AND COMMUNICATION SECURITY
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.
Recommended background: ECE 2049 Embedded Computing in Engineering Design or CS 2301 Systems Programming for Non-Majors or equivalent
Suggested background: CS 2022/MA2201 Discrete Mathematics
ECE 4902. ANALOG INTEGRATED CIRCUIT DESIGN
Cat. II
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.
Recommended background: familiarity with the analysis of linear circuits and
with the theory of bipolar and MOSFET transistors. Such skills are typically
acquired in ECE 3204.
Suggested background: ECE 4904.
This course will be offered in 2015-16, and in alternating years thereafter.
ECE 490X CMOS FUNDAMENTALS
This course introduces fundamental concepts of 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 an introduction to CMOS integrated circuit fabrication technology and crucial process layers. Then, resistors and capacitors in integrated circuit technology, and MOSFET capacitors and transistors are introduced, emphasizing concepts in nano-CMOS devices such as velocity saturation and drain-induced barrier lowering. Building on these concepts, the course next develops models for analog and digital integrated circuit design using MOSFETs. Next, the concept of basic digital building blocks in CMOS technology, and associated timing and loading constraints are covered. Finally, the course will explore matching and sensitivity concepts through a simple circuit example, such as a current mirror.
Recommended Background: ECE 2029, and ECE 2201
Suggested Background: ECE 3204
Graduate Courses
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. (Prerequisite: Undergraduate course in
signals and systems.)
ECE 503. DIGITAL SIGNAL PROCESSING
Discrete-time signals and systems, frequency
analysis, sampling of continuous time signals, the
z-transform, implementation of discrete time systems,
the discrete Fourier transform, fast Fourier
transform algorithms, filter design techniques.
(Prerequisites: Courses in complex variables, basic
signals and systems.)
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. (Prerequisite:
Undergraduate course in signals and systems.)
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). (Prerequisites:
Undergraduate course in logic circuits and microprocessor
system design, as well as proficiency
in assembly language and a structured high-level
language such as C or Pascal.)
ECE 506. INTRODUCTION TO LOCAL AND WIDE AREA NETWORKS
This course provides an introduction to the
theory and practice of the design of computer and
communications networks, including the ISO
seven-layer reference model. 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 an
introduction to queueing analysis and network
programming. (Prerequisites: knowledge of the
C programming language is assumed. CS 504 or
ECE 502 or equivalent background in CS 5084
or CS 584.)
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, electrical and biomedical sensors, and RF and MW engineering. Basic antenna characteristics are studied: polarization, directivity, gain, realized gain, and impedance bandwidth. Both narrowband and broadband antennas as well as linear and planar antenna arrays are considered. An emphasis is made on learning modern antenna modeling software– ANSYS HFSS and Antenna Toolbox of MATLAB. The course structure is directed toward practical antenna design and enables senior undergraduate students to take this course. Course topics 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.
Prerequisites: undergraduate analog electronics, college MATLAB, and basic introductory knowledge of electromagnetic theory - ECE 2019 and ECE 3113 .
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. Prerequisites: college MATLAB, differential and integral calculus.
ECE 514. FUNDAMENTALS OF RF AND MW ENGINEERING
This introductory course develops a comprehensive
understanding of Maxwell’s field theory as
applied to high-frequency radiation, propagation
and circuit phenomena. Topics include radio frequency
(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.
(Prerequisites: ECE 504 or equivalent, undergraduate
course in electromagnetic field analysis.)
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.
Prerequisites: Undergraduate background in device physics, microelectronics, control systems, electromagnetism.
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.
(Prerequisites: ECE 3204 and undergraduate
courses in modern signal theory and control
theory; ECE 504 is recommended.)
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. (Prerequisite:
Background in analog circuits both at the
transistor and functional block [op-amp, comparator,
etc.] level. Also familiarity with techniques
such as small-signal modeling and analysis in the
s-plane using Laplace transforms. Undergraduate
course equivalent background ECE 3204; ECE
4902 helpful but not essential.)
ECE 529. SELECTED TOPICS IN ELECTRONIC SYSTEM DESIGN
Courses in this group are devoted to the study of
advanced topics in electronic system design. See
the SUPPLEMENT section of the on-line catalog
at www.wpi.edu/+gradcat for descriptions of
courses to be offered in this academic year.
ECE 5307. WIRELESS ACCESS AND LOCALIZATION
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.
Prerequisite: ECE506, CS513, or equivalent familiarity with local and wide area networks.
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: pre-whitening, fading and
diversity combining. (Prerequisites: ECE 502 and
ECE 504 or equivalent.)
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 loss less 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.
(Prerequisite: background in probability and random
processes such as in ECE 502 or equivalent).
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. (Prerequisites: An understanding of
probability and random processes theory (ECE
502 or equivalent); an understanding of various
analog and digital (de)modulation techniques
(ECE 3311 or equivalent); familiarity with MATLAB
programming.)
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.
Prerequisites: Undergraduate (or graduate) course in digital signal processing, experience with MATLAB and a course in probability.)
ECE 537. ADVANCED COMPUTER AND COMMUNICATIONS NETWORKS
This course covers advanced topics in the theory, design and performance of computer and communications networks. Topics will be selected from such areas as local area networks, metropolitan area networks, wide area networks, queueing models of networks, routing, flow control, new technologies and protocol standards. The current literature will be used to study new networks concepts and emerging technologies. (Prerequisite: CS 513/ECE 506 and CS 533/ECE 581.)
ECE 538. WIRELESS INFORMATION NETWORKS
Overview of wireless information networks and
personal communications systems: digital cellular,
wireless PBX, cordless phone, wireless LAN, and
mobile data, multimedia wireless and directions of
the future. Radio propagation modeling for urban
and indoor radio channels, coverage interface
and cell size. Modulation techniques for efficient use of bandwidth resources. Methods to increase
the data rate: antenna diversity and sectorization,
adaptive equalization, multirate transmission and
multiamplitude phase modulation. Spread spectrum
for digital cellular, personal communications
and wireless LAN applications. TDMA, CDMA,
ALOHA, and CSMA, DECT, GSM, USDC,
JDC, IEEE 802.11, WINForum, and HIPERLAN.
(Prerequisite: Background in networks.
Familiarity with probability, statistics and signal
processing).
ECE 545. DIGITAL IMAGE PROCESSING
This course presents fundamental concepts of
digital image processing and an introduction to
machine vision. Image processing topics will include
visual perception, image formation, imaging
geometries, image transform theory and applications,
enhancement, restoration, encoding and
compression. Machine vision topics will include
feature extraction and representation, stereo vision,
model-based recognition, motion and image
flow, and pattern recognition. Students will be
required to complete programming assignments
in a high-level language. (Prerequisites: working
knowledge of undergraduate level signal analysis
and linear algebra; familiarity with probability
theory is helpful but not necessary.)
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. (Prerequisites: Knowledge of circuit analysis, basic calculus and differential equations, elementary matrix analysis and basic computer programming.)
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. (Prerequisite: ECE 5500 Power System Analysis)
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 manufacturer’s 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. (Prerequisite: ECE 5500 Power System Analysis)
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 manufacturer’s 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. (Prerequisite: ECE 5500 Power System Analysis or equivalent background experience is suggested. Familiarity with phasors, derivatives, transfer functions, poles and zeros, block diagram and the notion of feedback with basic understanding power system analysis or similar background is recommended. 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 manufacturer’s 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. (Prerequisite: ECE 5521 Protective 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.
(Prerequisite: Familiarity with the basics of Laplace Transforms, derivatives, transfer functions, poles and zeros, block diagram and the notion of feedback with basic understanding power system analysis topics recommended. (ECE 5500 Power System Analysis and ECE 5511 Transients in Power Systems or equivalent background experience is suggested.)
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. (Prerequisites: Prior courses in magnetism and three-phase circuits. An electric machines course would be recommended.)
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. (Prerequisites: ECE 5500 Power System Analysis plus either ECE 5520 Power System Protection and Control or ECE 5521 Protective Relaying. ECE 5530 Power Distribution highly recommended.)
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. (Prerequisite: ECE 5500 Power System Analysis.)
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. Prerequisites: Since the Capstone Project will draw on knowledge obtained throughout the degree program, it is expected that the student will have completed most or all of the coursework within their plan of study before undertaking the capstone project.
ECE 566. VLSI DESIGN
VLSI Design introduces computer engineers and
computer scientists to the techniques, methodologies
and issues involved in conceptual and physical
design of complex digital integrated circuits. The
course presupposes knowledge of computer systems
and hardware design such as found in ECE
505, but does not assume detailed knowledge of
transistor circuits and physical electronics. (Prerequisite:
ECE 505 or equivalent.)
ECE 5715. RECONFIGURABLE COMPUTING
This course focused on the principles and applications of using FPGAs for reconfigurable computing. The key feature of reconfigurable computing is its ability to perform computations in customized hardware, while retaining much of the flexibility of a software solution. This course provides an overview of field programmable gate array (FPGA) architecture and technology. It introduces computer-aided design tools for FPGAs including synthesis, timing, placement, and routing. The course emphasizes on the techniques to analyze algorithms and to implement them on the FPGAs. It demonstrates real-time signal and data processing in customized hardware circuits. This course also covers system-on-chip design using the embedded processors inside the FPGAs. Partially reconfiguration and runtime reconfiguration design flow are also included.
ECE 572. ADVANCED SYSTEMS ARCHITECTURE
This Course covers techniques such as caching, hierarchical memory, pipelining and parallelism, that are used to enhance the performance of computer systems. It compares and contrast different approaches to achieving high performance in machine ranging from advanced microprocessors to vector supercomputers (CRAY, CYBER). It also illustrates how these techniques are applied in massively parallel SIMD machines (DAP, Connection Machine). In each case the focus is on the combined hardware/ software performance achieved and the interaction between application demands and hardware/software capabilities. (Prerequisites: This course assumes the material covered in ECE 505. The student should also have a background in computer programming and operating systems (CS 502). Familiarity with basic probability and statistics such as ECE 502 or MA 541 is recommended.
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.
Prerequisite: Undergraduate knowledge of basic logic design concepts. ECE 574 may be substituted for ECE 5720. Students may not receive credit for both ECE 574 and ECE 5720. For students not having the necessary background, online videos will be made available to cover the prerequisites.
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.
Prerequisite: Familiarity with C programming, Undergraduate knowledge of basic logic design concepts, familiarity with a hardware description language. Note: For students not having the necessary background, online videos will be made available to cover the prerequisites.
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 today’s 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. MODELING AND SYNTHESIS OF DIGITAL SYSTEMS USING VERILOG AND VHDL
This is an introductory course on Verilog and
VHDL, two standard hardware description languages
(HDLs), for students with no background
or prior experience with HDLs. In this course
we will examine some of the important features
of Verilog and VHDL. The course will enable
students to design, simulate, model and synthesize
digital designs. The dataflow, structural, and
behavioral modeling techniques will be discussed
and related to how they are used to design combinational
and sequential circuits. The use of test
benches to exercise and verify the correctness of
hardware models will also be described. Course
Projects: Course projects will involve the modeling
and sysntesis and testing of systems using
Xilinx tools. We will be targeting Xilinx FPGA
and CPLDs. Students will need to purchase a
FPGA or CPLD development board for project
assignments. (Other VHDL tools may be used
if these are available to the student at their place
of employment.) Students will have the choice
of completing assignments in either Verilog or
VHDL. (Prerequisites: Logic Circuits and experience
with programming in a high-level language
(such as C or Pascal) and a computer architecture
course such as ECE 505.)
ECE 578. CRYPTOGRAPHY AND DATA SECURITY
This course gives a comprehensive introduction
to the field of cryptography and data security.
The course begins with the introduction of
the concepts of data security, where classical
algorithms serve as an example. Different attacks
on cryptographic systems are classified. Some
pseudo-random generators are introduced. The
concepts of public and private key cryptography
are developed. As important representatives for
secret key schemes, DES and IDEA are described.
The public key schemes RSA and ElGamal, and
systems based on elliptic curves are then developed.
Signature algorithms, hash functions, key
distribution and identification schemes are treated
as advanced topics. Some advanced mathematical
algorithms for attacking cryptographic schemes
are discussed. Application examples will include
a protocol for security in a LAN and a secure
smart card system for electronic banking. Special
consideration will be given to schemes which
are relevant for network environments. For all
schemes, implementation aspects and up-to-date
security estimations will be discussed. (Prerequisites:
Working knowledge of C; an interest in
discrete mathematics and algorithms is highly
desirable. Students interested in a further study of
the underlying mathematics may register for MA
4891 [B term], where topics in modern algebra
relevant to cryptography will be treated.)
ECE 5905. ADVANCED BIPOLAR SOLID STATE DEVICES
The operation of the bipolar junction transistor (BJT) will be explored in detail, resulting in thorough understanding of observed phenomena including second-order effects that limit device performance in practical integrated circuit applications. The course begins with a review of semiconductor fundamentals and p-n junction behavior, followed by extension to the BJT, with an emphasis on effects such as temperature dependence of operation parameters, deviations from ideal behavior at high and low voltages and currents, and failure modes such as zener and avalanche breakdown. BJT behavior will be modeled for large and small signals under DC, AC, and transient conditions. Results from theoretical hand-analysis equations will be correlated with model parameters in software tools such as SPICE. Implications of fabrication technology including device scaling in submicron processes will be considered. This course is intended for students pursuing study in either integrated circuit design or device physics.
(Prerequisite: undergraduate analog electronics).
ECE 596. 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. (Prerequisite: Graduate standing.)
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. (Prerequisite: B.S. in ECE
or equivalent.)
ECE 630. ADVANCED TOPICS IN SIGNAL PROCESSING
The course will cover a set of important topics
in signal and image analysis: orthogonal signal
decomposition, wavelet transforms, analytic signals,
time-frequency estimation, 2D FT, Hankel
transform and tomographic reconstruction. In
addition, the course will each year have selected
current topics in signal processing, e.g., ambiguity
functions in RADAR and SONAR, coded waveforms,
Fourier based beamforming for 2D arrays
and single value decomposition. In place of a final
exam, there will be a student project. The course
is intended for students working in areas such as
image analysis, NDE, ultrasound, audio, speech,
RADAR, SONAR and date compression. Signal/
image theory and applications will be emphasized
over coding; however, Matlab-based modules for
self-paced signal/image visualization and manipulation
will be part of the course. (Prerequisites:
ECE 504 Analysis of Deterministic Signals and
Systems, undergraduate course in linear systems
theory and vector calculus.)
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 cards—will 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. (Prerequisites: ECE 578/ CS 578 or
equivalent background.)