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:

Electrical Engineering (EE)

EE requires two courses (6 hours) selected from any ONE of these areas.

Computer Engineering (CPE)

CPE requires two courses (6 hours) selected from any of these areas.

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

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 406ECE 506CSC 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.