ECE Electives and Focus Paths
Focus Paths
A focus path is a list of courses in a sub-area within ECE that can help you determine which courses to take given your interests. Unlike a second major or minor, a focus path does not appear on the transcript. However, a focus path makes for a great interview or cover letter topic.
Focus paths are optional and meant primarily as an aid in selecting courses. Do not feel limited to the list here - feel free to mix and match electives from different focus paths or to create your own path. Explore the exciting focus paths below and find the one that sparks your passion!
Ultimately, picking a focus path is about finding the right fit. If there was a single “best” focus path, we wouldn’t have multiple! Your goal is to find the best focus path for you. Here are a few strategies you can use to pick a focus path:
- Each focus path corresponds to different types of careers it will best prepare you for. Talk to faculty in the area about these and see which one sounds like the best fit for you.
- Read the syllabus for or visit one of courses for one of the upper-level classes listed for a focus path. See if the content in that course excites you.
- Think about which of your previous courses you have enjoyed the most. Try to focus more on the course material than on the instructor style or the instructor’s personality since you’ll have different instructors going forward. Did you like modeling physical systems and then building them and having them come to life in circuits and electronics? Then maybe consider CHIPS or E2P. Did you enjoy the mix of coding and hardware in embedded systems? Then maybe consider robotics. Did you like the modeling of systems in code and math in signals and systems? Then maybe consider machine learning.
- If you have room in your schedule for two electives, try taking a course from two different focus paths.
- Talk with upperclassmen! Ask them what they have learned and how it has served them in internships and what type of jobs they are considering.
- Talk to your advisor. This website is made to give an overview of the focus paths, but your decision is unique to you and your advisor can help you think about how your interests align with the different focus paths.
No matter which focus path you choose, know that you have already selected an amazing major that will prepare you for a wide variety of jobs.
Finally, you’ll see that many of our faculty span more than one focus path. You can always chart your own course and combine electives from multiple focus paths.
CHIPS (Circuit Hardware Integration for Processing and Systems)
Integrated microcircuits power almost every aspect of modern life, from cell phones, to cloud computing to internet of things sensors, to self-driving cars. Students in this focus path will develop and design semiconductor circuits for the next wave of tech breakthroughs.
Device Physics
We aspire to understand, design, and build devices with universal impact. We build the pixel, the bit, the memory, and the solar cells. We aim to build the hardware of the future, and we start by understanding and unpacking the current state of the art. When we engage with a product, we want to know how it works. We apply physics to engineering, and we experiment, design, and build.
Robotics and Embedded Systems
When software meets hardware, the world becomes smart, secure, resilient, autonomous, and more sustainable. In this focus path, you will navigate the sky with drones, program robots, design smart devices, and develop technologies to help solve the world’s toughest challenges including medicine, climate change, transportation, and accessibility.
Machine Learning
Machine learning helps devices make better decisions based on data. Our students are in high demand for building smart real-world systems by combining the knowledge in ECE topics such as robotics, communications, medical imaging, and electronic devices with the power of AI/ML.
Special topics and new courses
Special topics courses are courses with numbers ending in 501 or 502, such as 4501 or 4502. ECE typically offers multiple special topics courses every semester. These courses allow instructors to easily offer new or pilot classes, often very close to their area of research interest. Some special topics courses are repeated, but the schedules for these courses are less predictable than the numbered electives.
The course descriptions below discuss some of ECE's special topics courses.
Quantum mechanics is one of the most important discoveries in the 20thcentury and has reshaped today’s science and technology. The rapid development in quantum computation and information is calling for a revolution in engineering and computation. Quantum information and quantum computing is fundamentally different from the classical computers. In order to understand how to build and use a quantum computer, we will review the birth of quantum mechanics and introduce the basic ideas and principles of quantum mechanics. The fundamental concepts in quantum information and computing, such as qubit, entanglement and squeezing, will be discussed. Finally, we will take a quick tour at the physics platform candidates for quantum computing implementation, and the IBM Q quantum computing resources.
Course objectives:
- To expose our students to the basic concepts and principles of quantum mechanics.
- To provide students with the tool to solve simple quantum problems using Schrödinger equation.
- To introduce the ideas and concepts of quantum computation and quantum information.
Note: The course will differentiate itself from the Quantum Mechanics course (PHY 3650, 3660) taught in Physics department. We will not explore the contents where nontrivial mathematical formalism, such as complex Hilbert space, are required. Contents that are physics oriented will be avoided as well, such as identical particle statistics, the variational principle, the WKB approximation, scattering and partial wave analysis.
Description: The course covers photonic devices used in today’s fiber optic communication systems from a practical point of view. Its goal is to help students understand both, principles and advanced designs, such that device operation and performance can be understood and analyzed in the context of modern communication systems. The course briefly revisits fundamentals including photon interactions with matter and semiconductor junction devices.
Topics include: Lasers and modulation, electro-absorption modulator, Mach-Zehnder modulator, optical amplifiers, devices for filtering and switching, optical receivers for direct and coherent detection, photonic integrated circuits, component packaging, devices for 100G long-haul and Terabit-system.
Prerequisites: open to senior undergraduate or graduate students, courses on device physics and signals & systems (ECE 3103 and ECE 2700) recommended.
The Internet of Things (IoT) is a computing platform where a large number of devices form a network to monitor, control, and optimize some physical system. To be scalable, these devices communicate wirelessly, both with each other and to the Internet at large. But what wireless protocols are available for IoT devices? How do they work? And why are there so many? This course will provide a hands-on introduction to the world of wireless in the Internet of Things. Over the course of the semester we will explore what wireless options we have available, how they differ and what the tradeoffs are, and how major IoT wireless protocols work. We will also build networks of devices using real-world wireless protocols. Our goal is for you to be able to build your own wireless devices with a wireless protocol that meets your application requirements and device constraints.
We will look at WiFi, Classic Bluetooth, Bluetooth Low Energy, IEEE 802.15.4, 2G/3G/4G/5G cellular, LTE-M, NB-IoT, LoRa, and Z-Wave. We will also explore some emerging wireless options, such as visible light communication (VLC), infrared communication (IR), ultrasonic, wake-up radios, and backscatter.
By the end of the course, you will be able to…
- explain, analyze, and compare different IoT wireless protocols.
- analyze and model the power draw and spectrum utilization of wireless protocols.
- develop hands-on skills using standards-compliant protocols.
- identify requirements for a wireless protocol for a specific application.
- recognize rationale for heterogeneity in wireless IoT protocols and how design choices impact both applications and users.
- work effectively in a group to build IoT networks while overcoming challenges.
This course explores the fundamental principles and applications of sensor technology in ubiquitous computing systems. Topics include sensor design, data acquisition, signal processing, wireless communication, and integration into intelligent systems. Students will examine how sensors enable real-time data collection in various domains, including healthcare, smart environments, and wearable technology. Hands-on projects and case studies will provide practical experience with sensor-based systems.
For graduate students enrolled in the combined 4/6 section, additional coursework will include extended problem sets and a more open-ended final project that incorporates advanced concepts in sensor fusion and machine learning.
The course provides an in-depth understanding of matrix analysis concepts, algorithms, and applications, including eigenvalues and eigenvectors, linear transformation, similarity transformations, commonly used factorizations, canonical forms, and Hermitian and symmetric matrices. In particular, we will illustrate these concepts with specific applications in machine learning, control, signal processing, and optimization.
Suggested prerequisite: APMA 3080 Linear Algebra
Introduces newer machine learning concepts such as GANs, diffusion and flow models, explainable generative AI, in addition to classical concepts such as autoencoders. The applications will include image generation and post-processing.
Prerequisites: CS 2130. ECE 3502 Foundations of Data Analysis is strongly suggested.
This course aims to explore the intricate relationship between advanced machine learning algorithms and cutting-edge hardware technologies. It will start with a foundational review of machine learning concepts, including neural networks and deep learning architectures. Moreover, we will introduce hardware acceleration technologies such as GPUs and TPUs. We will highlight principles of dataflows, hardware-specific optimizations, and systolic arrays. More importantly, students will gain an understanding of how these technologies enhance machine learning performance. The course will cover distributed machine learning, various parallelism strategies, and communication protocols essential for large-scale AI deployments. Emerging technologies like ReRAM and critical case studies in sustainable computing provide students with a holistic view of the current state and future directions of hardware-software co-design. Graduate students will have additional reading tasks and presentation requirements.
Description: This course focuses on an in-depth study of advanced topics and interests in image data analysis. Students will learn practical image techniques and gain mathematical fundamentals in machine learning needed to build their own models for effective problem solving. Topics of image denoising/reconstruction, deformable image registration, numerical analysis, probabilistic modeling, data dimensionality reduction, and convolutional neural networks for image segmentation/classification will be covered. The main focus might change from semester to semester. The graduate students (ECE/CS 6501) will be given additional programming tasks and more advanced theoretical questions.
Prerequisite: CS 2130 and APMA 3080 Linear Algebra.
Mathematical background in linear algebra, multivariate calculus, probability and statistics, and programming skills are required in this class.
The world is full of constantly computing entities –humans processing internet data, machines computing stock prices and weather maps, even a wildebeest computing its odds of survival when crossing the mighty Mara river. But what underlies such a computational process, at its core? What unifies an inert piece of silicon conjuring up ChatGPT, vs a functioning biological brain writing poetry? A proper exposure to such a topic, especially in the light of today’s computing metaverse, must span multiple departments – physics to understand the quantum world, electrical and computer engineering for basics of signal processing, neurobiology for spiking chemistry, Computer Science for error coding or lossless data compression.
This course, aimed at senior undergraduates and beginning graduate students, will introduce basic concepts of computing, focusing on the fundamental science underpinning it – how coding works, the physical nature of information, the energetics of computing, how we implement them in hardware, why quantum entanglement and quantum computing are fundamentally different, and how Boltzmann physics governs minimum energy neurological processes and can be mapped onto optimization and learning algorithms
Prerequisites: The main background expected is proficiency with some ODEs and matrix algebra (which we will recap at the start of the course) and knowledge of Matlab or an equivalent mathematical package. A working knowledge of neural nets or quantum physics is not necessary, but can be helpful in identifying the broader context.
Previous course website with more information: http://www.ece.virginia.edu/~ag7rq/23comp/course_schedule.html
First offering is Spring 2027.
AI for Electronic Design is a broad, interdisciplinary course on the application of artificial intelligence and machine learning to the design of electronic and computing systems. The course will start by introducing the fundamental AI/ML techniques most relevant to engineering design and then examining how these methods are being applied across the electronic design stack. Topics will span digital and analog circuits, RF and mixed-signal systems, photonics, computer architecture, memories and AI hardware, physical design, EDA, verification and testing, and system-level optimization. The AI/ML portion will cover methods such as supervised and unsupervised learning, deep neural networks, reinforcement learning, generative models, Bayesian optimization, surrogate modeling, graph neural networks, evolutionary methods, and differentiable optimization, with emphasis on understanding when and why particular techniques are useful for design problems.
A central aspect of the course will be a semester-long team-based project, allowing students to explore in greater depth an AI/ML application in an area of electronic design aligned with their interests. The projects will address problems such as circuit sizing and optimization, analog/RF design, logic synthesis, placement and routing, design-space exploration, architecture optimization, memory and accelerator design, verification, testing, photonic design, or EDA automation. Students will survey the literature to formulate a design problem, identify an appropriate AI/ML methodology, implement and evaluate their approach using simulation, open-source EDA tools, or available hardware platforms, and compare the resulting design quality, computational cost, and generalization against conventional approaches. The objective is not to train students to become AI/ML specialists, but to give them a broad understanding of how AI/ML is changing electronic design and how to recognize, formulate, and solve design problems using these emerging techniques.
Course objective: Graphs/networks are often used to represent a plethora of real-world phenomena: social relations among online users, hyperlinks among webpages, biological interactions among genes, brain activities among neurons, to name a few. How can we understand, characterize, and extract actionable knowledge from the deluge of graph data, to benefit high-impact applications from different disciplines? This course will introduce the fundamental problems and cover the recent research advances in analyzing and mining large-scale graphs. It will also discuss the practical applications and the broad impacts of graph mining algorithms in diverse settings (e.g., social media, e-commerce, education, and security). The following topics will be covered in the course: graph essentials, network measures, network models, data mining essentials, community analysis, information diffusion, recommendation, network representation learning, and graph neural networks.
Prerequisites: There are no official prerequisites for this course, but students are expected to : (1) have basic knowledge about data mining and machine learning; (2) be familiar with linear algebra, discrete mathematics, and statistics; (3) be comfortable to read research papers and give presentations; (4) have good programming skills, e.g., Python, C/C++, Java, Matlab, and R.
Why a probabilistic view? Information and uncertainty, which underlie both fields, can be represented via probability in a robust and versatile way. Unknown quantities can be cast as random variables and their relationships to available information as joint distributions. This provides a unifying framework for setting up estimation and machine learning problems, stating our assumptions clearly, designing methods, and evaluating performance.
What topics will we study? We will start with estimation, which can be defined as the problem of learning about the world from data (e.g., finding the chance of getting a disease given one’s genetic make-up) or drawing conclusions about relationships (e.g., what are the best predictors of academic success?). We will then learn about machine learning problems such as regression and classification, where the goal is to predict an unknown quantity, e.g., the price of a house, based on some relevant information. We will also learn how to deal with situations when part of the data is missing. Finally, we will discuss computational methods, which help tackle difficult problems via approximation.
Course objectives:
- Use joint distributions and graphical models to describe relationships between known and unknown quantities
- Describe, identify, and apply frequentist and Bayesian estimation
- Construct and apply learning models
- Apply computational methods such as expectation-maximization and Monte Carlo sampling
- Perform approximate inference using variational methods
- Quantify fundamental limits on estimation and learning given available data
Prerequisite: APMA 3100 Probability