Choosing Electives
All ECE Undergraduate Students are required to take Elective Courses. Below, you will find a list of ALL the Elective Courses offered by our department. As always, remember to review your degree audit to ensure requirements are being met. For any questions or concerns, please contact your Academic Advisor.
Electrical Engineering Foundation Electives
Electrical Engineering students must choose any two courses from the following list.
E 304: Introduction to Nano Science and Technology
Fundamentals Concepts of Nano-Science and Technology including scaling, nano-scale physics, materials, mechanics, electronics, heat transfer, photonics, fluidics, and biology. Applications of nano-technology.
Prerequisite: MA 242 and PY 208 with grade of C- or higher.
ECE 305: Principles of Electromechanical Energy Conversion
Three-phase circuits and power flow, analysis of magnetic circuits, performance of single-phase and three-phase transformers, principles of electromechanical energy conversion, steady-state characteristics and performance of alternating current and direct current machinery.
Prerequisite: C- or better in ECE 211 or ECE 331
ECE 308: Elements of Control Systems
Analog system dynamics, open and closed loop control, block diagrams and signal flow graphs, input-output relationships, stability analyses using Routh-Hurwitz, root-locus and Nyquist, time and frequency domain analysis and design of analog control systems. Use of computer-aided analysis and design tools. Class project. EE, CPE, BME majors only. Prerequisite: (ECE 220 and ECE 211) or BME 311;
Co-requisite: ECE 301
ECE 310 OR 306:
ECE 310: Design of Complex Digital Systems
Design principles for complex digital systems. Decomposition of functional and interface specifications into block-diagrams and simulation with hardware description languages. Synthesis of gate-level descriptions from register-transfer level descriptions. Design and test of increasingly complex systems.
Prerequisite: A grade of C- or better in ECE 212
ECE 306: Introduction to Embedded Systems
Introduction to designing microcontroller-based embedded computer systems using assembly and C programs to control input/output peripherals. Use of embedded operating system.
Prerequisite: C- or better in ECE 209 and ECE 212
Computer Engineering students have NO foundation electives.
Specialization Electives
Specialization electives are organized into nine areas as follows:
EE requires two courses (6 hours) selected from any ONE of these areas.
Electrical Engineering (EE)
- Communication & Signal Processing Systems Area Advisor: Dr. J. Keith Townsend
- Control Systems Area Advisor: Dr. Mo-Yuen Chow
- Circuits & Electromagnetic Systems Area Advisor: Dr. Brian Floyd
- Nano Systems Area Advisor: Dr. Daryoosh Vashaee
- Power Systems Area Advisor: Dr. Mesut Baran
CPE requires two courses (6 hours) selected from any of these areas.
Computer Engineering (CPE)
- Computer Architecture & Systems Area Advisor: Dr. James Tuck
- Embedded Systems Area Advisor: Dr. James Tuck
- Networking Systems Area Advisor: Dr. Mihail Sichitiu
- Software Systems Area Advisor: Dr. James Tuck
Both EE and CPE majors also require two additional courses (6 hours) from anywhere in this list or ECE 492 Special Topics.
For an appointment, e-mail the Area Advisor.
Communication & Signal Processing Systems
EE Electives
ECE 402: Communications Engineering
An overview of digital communications for wireline and wireless channels which focuses on reliable data transmission in the presence of bandwidth constraints and noise. The emphasis is on the unifying principles common to all communications systems, examples include digital telephony, compact discs, high-speed modems and satellite communications.
Prerequisite: ECE 301 and ST 371
ECE 411: Machine Learning
Deep learning progressed remarkably over the past decade. This course introduces fundamental concepts and algorithms in machine learning that are vital for understanding state-of-the-art and cutting-edge development in deep learning. This course exposes students to real-world applications via well-guided homework programming problems and projects. Topics include, but are not limited to regression, classification, support vector machines, crossvalidation, and convolutional neural networks (CNN), long short-term memory (LSTM), and transformers.
Prerequisites: ECE 301 or ISE 361 or MA 341 or CSC 316) and (ST 370 or ST 371. (Students may not receive credit for both CSC 422 and ECE 411.)
ECE 420: Wireless Communication Systems
A study of applications of communication theory and signal processing to wireless systems. Topics include an introduction to information theory and coding, basics and channel models for wireless communications, and some important wireless communication techniques including spread-spectrum and OFDM. MATLAB exercises expose students to engineering considerations.
Prerequisite: ECE 402
ECE 421: Introduction to Signal Processing
Concepts of electrical digital signal processing: Discrete-Time Signals and Systems, Z-Transform, Frequency Analysis of Signals and Systems, Digital Filter Design. Analog-to Digital-to-Analog Conversion, Discrete Fourier Transform.
Prerequisite: ECE 301
Header text
Control Systems
EE Electives
ECE 436: Digital Control Systems
Discrete systems dynamics, sampled-data systems, mathematical representations of analog/digital and digital/analog conversions, open- and closed-loop systems, input-output relationships, state-space and stability analyses, time- and frequency-domainanalyses. Design and implementation of digital controllers.
Prerequisite: ECE 435
ECE 455: Industrial Robotic Systems
Techniques of computer control of industrial robots: interfacing with synchronous hardware including analog/digital and digital/analog converters, interfacing noise problems, control of electric and hydraulic actuators, kinematics and kinetics of robots, path control, force control, sensing including vision. Major design project. EE, CPE, BME, JEM majors only.
Prerequisite: ECE 308
ECE 456: Mechatronics
The study of electro-mechanical systems controlled by microcomputer technology. The theory, design and construction of smart systems; closely coupled and fully integrated products and systems. The synergistic integration of mechanisms, materials, sensors, interfaces, actuators, microcomputers, controllers, and information technology.
Prerequisite: ECE 435
Circuits & Electromagnetic Systems
EE Electives
ECE 403: Electronics Engineering
Design and analysis of CMOS integrated circuits, from single transistor stages to operational amplifiers. Feedback in operational amplifier circuits, compensation and stability. ECE majors only.
Prerequisite: ECE 301, ECE 302
ECE 422: Transmission Lines and Antennas for Wireless
Review of time-varying electromagnetic theory. A study of the analytical techniques and the characteristics of several useful transmission lines and antennas. Examples are coaxial lines, waveguides, microstrip, optical fibers and dipole, monopole and array antennas.
Prerequisite: ECE 303
ECE 424: Radio Systems Design
Introduction to communication theory and radio system design. Design and analysis of radio systems, such as heterodyne transceivers, and effects of noise and nonlinearity. Design and analysis of radio circuits: amplifiers, filters, mixers, baluns and other transmission line and discrete circuits.
Prerequisite: 302
ECE 426: Analog Electronics Laboratory
A hands on laboratory based course with two construction projects (dual power supply, high frequency buffer amplifier) and six breadboard based activities with a focus on operational amplifiers and their applications. Student must have a portable computer and ‘Digilent Analog Discovery’. Topics include: amplifier performance, integrator/differentiator, filters, converters (I to V, V to I) and audio circuits.
Prerequisite: ECE 302
Nano Systems
EE Electives
ECE 404: Introduction to Solid-State Devices
Basic principles required to understand the operation of solid-state devices. Semiconductor device equations developed from fundamental concepts. P-N junction theory developed and applied to the analysis of devices such as varactors, detectors, solar cells, bipolar transistors, field-effect transistors. Emphasis on device physics rather than circuit applications.
Prerequisite: ECE 302 or E 304
ECE 418: Wearable Biosensors
This course surveys the methods and application of wearable electronics and microsystems to monitor human biometrics, physiology, and environmental conditions. Topics covered include wearable electrocardiograms, blood-glucose monitors, electronic tattoos, wearable energy harvesting, “smart” clothing, body area networks, and distributed population networks. Critical comparison of different sensor modalities, quantitative metrics, and how their limitations in realistic applications define the selection, design, and operation criteria of one type of sensor over another will be considered.
Prerequisite: Senior standing
ECE 423: Introduction to Photonoics and Optical Communications
This course investigates photonic devices at the component level and examines the generation, propagation, and detection of light in the context of optical communication systems. Topics include the design of simple optical systems and focuses on the use of lasers, fiber optics, and photodetectors. The labs include building a Michelson interferometer, preparing and coupling light to an optical fiber, characterizing LEDs and laser diodes and making a fiber optical link.
Prerequisite: ECE 303 or Permission of the Instructor
ECE 442: Integrated Circuit Technology and Fabrication
Semiconductor device and integrated-circuit processing and technology. Wafer specification and preparation, oxidation, diffusion, ion implantation, photolithography, design rules and measurement techniques.
Prerequisite: ECE 404
ECE 489: Solid State Solar and Thermal Energy Harvesting
This course studies the fundamental and recent advances of energy harvesting from two of the most abundant sources, namely solar and thermal energies. The first part of the course focuses on photovoltaic science and technology. The characteristics and design of common types of solar cells is discussed, and the known approaches to increasing solar cell efficiency will be introduced. After the review of the physics of solar cells, we will discuss advanced topics and recent progresses in solar cell technology. The second part of the course is focused on thermoelectric effect. The basic physical properties, Seebeck coefficient, electrical and thermal conductivities, are discussed and analyzed through the Boltzmann transport formalism. Advanced subject such as carrier scattering time approximations in relation to dimensionality and the density of states are studied. Different approaches for further increasing efficiencies are discussed including energy filtering, quantum confinement, size effects, band structure engineering, and phonon confinement.
Prerequisites: ECE 302 or E 304 or MSE 355 or PY 407
Power Systems
EE Electives
ECE 434: Fundamentals of Power Electronics
Design, analysis, modeling and control of DC-DC converters, DC-AC inverters, AC-DC rectifiers/converters, and AC-to-AC converters. power conversion using switched high-voltage high-current semiconductors in combination with inductors and capacitors. Design of DC-DC, DC-AC, AC-DC, and AC-AC power converters as well as an introductions to design of magnetic components for use in power converters, applications to fuel cells, photovoltaics, motor drives, and uninterruptable power supplies.
Prerequisite: ECE 302 or equivalent
ECE 451: Power System Analysis
Long-distance transmission of electric power with emphasis on load flow, economic dispatch, fault calculations and system stability. Applications of digital computers to power-system problems. Major design project.
Prerequisite: ECE 305
ECE 452: Renewable Electric Energy Systems
Principles and characteristics of renewable energy based electric power generation technologies such as photovoltaic systems, wind turbines, and fuel cells. Main system design issues. Integration of these energy sources into the power grid. Economics of distributed generation. Credit is not allowed for both ECE 452 and ECE 552.
Prerequisite: ECE 305 or ECE 331
ECE 453: Electric Motor Drives
Principles of electromechanical energy conversion; analysis, modeling, and control of electric machinery; steady state performance characteristics of direct-current, induction, synchronous and reluctance machines; scalar control of induction machines; introduction to direct- and quadrature-axis theory; dynamic models of induction and synchronous motors; vector control of induction and synchronous motors.
Prerequisite: A grade of C or better in ECE 305.
Computer Architecture & Systems
CPE Electives
ECE 406: Architecture of Parallel Computers
The need for parallel and massively parallel computers. Taxonomy of parallel computer architecture, and programming models for parallel architectures. Example parallel algorithms. Shared-memory vs. distributed-memory architectures. Correctness and performance issues. Cache coherence and memory consistency. Bus-based and scalable directory-based multiprocessors. Interconnection-network topologies and switch design. Brief overview of advanced topics such as multiprocessor prefetching and speculative parallel execution. Credit is not allowed for more than one course in this set: ECE 406, ECE 506, CSC 406
Prerequisites: None
ECE 463: Advanced Microprocessor Systems Design
Advanced topics in microprocessor systems design, including processor architectures, virtual-memory systems, multiprocessor systems, and single-chip microcomputers. Architectural examples include a variety of processors of current interest, both commercial and experimental. Major design project.
Prerequisite: ECE 209, ECE 212
ECE 464: ASIC Design
Design of digital application specific integrated circuits (ASICs) based on hardware description languages (Verilog, VHDL) and CAD tools. Emphasis on design practices and underlying algorithms. Introduction to deep submicron design issues like interconnections and low power and to modern applications including multi-media, wireless. Telecommunications and computing. Required design project.
Prerequisite: ECE 406, ECE 302
Embedded Systems
CPE Electives
ECE 460: Embedded Systems Architectures
Concepts of architectures for embedded computing systems. Emphasis on hands-on implementation. CPU scheduling approaches to support multithreaded programs, including interrupts, cooperative schedulers, state machines, and preemptive scheduler [real-time kernel]. Communication and synchronization between threads. Basic real-time analysis. Using hardware peripherals to replace software. Architectures and design patterns for digital control, streaming data, message parsing, user interfaces, low power, low energy, and dependability. Software engineering concepts for embedded systems. Students may not receive credit for both ECE 460 and ECE 560.
Prerequisite: C- or better in ECE 306
ECE 461: Embedded System Design
Design and implementation of software for embedded computer systems. The students will learn to design systems using microcontrollers, C and assembly programming, real-time methods, computer architecture, interfacing system development and communication networks. System performance is measured in terms of power consumption, speed and reliability. Efficient methods for project development and testing are emphasized. Credit will not be awarded for both ECE 461 and ECE 561. Restricted to CPE and EE Majors.
Prerequisite: Grade of C- or better in ECE 306.
Networking Systems
CPE Electives
ECE 407: Introduction to Computer Networking
This course focuses on engineering principles of computer communications and networking, including layering concepts, overview of protocols, architectures for local, metropolitan, and wide-area networks, routing protocols, internet operations, transport control and applications, emerging issues in computer networks. EE and CPE majors only.
Prerequisite: ECE 301
ECE 470: Internetworking
Introduction, Planning and Managing networking projects, networking elements-hardware, software, protocols, applications; TCP/IP, ATM, LAN emulation. Design and implementation of networks, measuring and assuring network and application performance; metrics, tools, quality of service. Network-based applications, Network management and security.
Prerequisite: ECE 407 or CSC 401
Software Systems
CPE Electives
ECE 466: Compiler Optimization and Scheduling
Provide insight into current compiler designs dealing with present and future generations of high performance processors and embedded systems. Investigate dataflow analysis and memory disambiguation, classical and parallelism enhancing optimizations, scheduling and speculative execution, and register allocation. Review of techniques used in current research compilers.
Prerequisite: ECE 306 and either ECE 309 or CSC 316
ECE Electives
All ECE Majors: Choose any two EE, CPE, OR ECE Electives
Special Topics Courses
*Special Topics courses often become a permanent course number. If a special topics number becomes a permanent course number, please consult with your advisor to verify what elective it will count as – EE or CPE.
ECE Electives
ECE 492-035: Enterprise Computing Systems
This course is an introduction to the hardware and software used for business-centric (“enterprise”) computing. Examples of enterprise applications include databases and web services. Computing platforms (mainframes, clusters), networks, and storage systems will be discussed, as well as modern data centers. Hands-on projects will be included.
Prerequisites: None
ECE 492-040: Introduction to Autonomous Systems
Introduction to unmanned systems, including unmanned ground systems (UGS) and unmanned aerial vehicles (UAVs); the course will focus on principles and implementations common among all these systems, from hardware (e.g., sensors, actuators) to control systems and software. By the end of the course the students will be familiar with the most common implementations of such vehicles, and will work in teams to extend the capabilities of the common platform in one or more directions.
Prerequisite: None
ECE 492-042: Operating Systems Design
ECE 492-043: Internet of Things (IoT): A Primer
In this course, we will introduce the students to the concepts, challenges, and recent developments around Internet of Things – IoT. We will focus on the fundamental issues that arise in the operation, design and management of IoT systems (not just networks). Such issues include, among others, business objectives and technical design requirements, IoT building blocks, architectures and reference models, enabling technologies, IoT protocol stacks (around verticals), IoT-specific analytics, and computing models.
Upon completing this course, the students will be able to:
- Communicate the impact of various business drivers for IoT
- Summarize technical design requirements
- Critique architectures and protocol stacks for a specific vertical industry in IoT
- Summarize, evaluate or implement specific protocols (RPL, 6LoWPAN, CoAP)
- Demonstrate how cloud and fog computing models apply in the IoT space
- Provide arguments about the pros and cons of using specific enabling technologies in IoT
- Synthesize analytics algorithms for a specific vertical industry in IoT (time permitting)
Prerequisite: A course in Networking
ECE 492-044: Object-Oriented Application Pr
ECE 492-047: Introduction to Quantum Programming
This course will focus on the topic of quantum programming, without spending a lot of time on the math and physics that describe quantum behavior. Through high-level programming constructs and visualizations, you will learn fundamental programming concepts and will gain intuition about how to solve problems with this new technology. The course will emphasize hands-on programming exercises, including the opportunity to run programs on actual computing hardware.
ECE 492-048: Semiconductor Optoelectronic Devices
ECE 492-049: Edge Computing for Deep Learning
The students will learn basic concepts about machine learning, computer vision and natural language processing (NLP), and how to implement the algorithms on an edge computing platform. The course will make use of the NVIDIA Jetson platform.