Mads R. Almassalkhi
Director of the CORE Systems Lab

Teaching

I teach undergraduate and graduate courses in power and energy systems, circuits, control, and optimization in the Department of Electrical and Biomedical Engineering at the University of Vermont. My undergraduate teaching centers on EE 3315 Electric Energy Systems, and my graduate courses in convex optimization and linear system theory give students from across the College of Engineering and Mathematical Sciences the mathematical tools they need for research.

Approach to Teaching

I believe students build ability by working on problems slightly beyond what they can already solve, and I design my courses to give them frequent practice with such problems. The engineers who modernize the grid will face open problems without worked examples, so a course that asks students to attempt hard problems also prepares them for their professional work. Students keep working on difficult material when two conditions hold: they understand why the material matters, and they can make mistakes while learning without paying a penalty for those mistakes.

To show students why the material matters, I connect each part of a course to the engineering decisions that utilities, regulators, and technology companies are making now, and I place those decisions in the history of the grid from Edison and Tesla to the present. To let students make mistakes at low cost, I separate practice from grading. In EE 3315, for example, students work weekly practice problem sets that come with full solutions, grade their own work against those solutions, and submit a one-page self-assessment of what they got right, what they got wrong, and what they learned. Short in-class quizzes at the end of each module carry no course credit, and I return each quiz with feedback so that students learn where they stand while they still have time to improve. I also learn every student's name in the first week, hold office hours at times the students choose, and run an anonymous class forum where students receive credit for answering each other's questions. My expectations for the quality of the final work stay high throughout the semester, and the ungraded practice gives every student a fair chance to meet those expectations.

Learning with Generative AI

Generative AI tools can either deepen a student's understanding or quietly replace the thinking that coursework is designed to produce, and the outcome depends on when and how the student uses the tools. I experienced the cost of careless use in my graduate course on linear system theory, where the average score on a nearly unchanged past midterm fell by half between 2019 and 2025 even as the quality of submitted homework rose and office hour participation dropped. I now encourage students to use AI on practice problems and laboratory work to interrogate problem, and I ask them to follow four principles.

  • Struggle first. Students should work each problem with their notes and textbooks before turning to AI, because the first honest attempt at a problem is where most of the learning takes place.
  • Embrace difficulty. False starts and dead ends build the intuition that engineers rely on, and being stuck is a normal part of learning rather than a sign that something has gone wrong.
  • Use AI as an exoskeleton. An exoskeleton extends what a person can lift but does not lift for them, so students should use AI to extend their understanding and then test whether they can do the same work without it.
  • Engage critically. Students should question AI output rather than accept it, work through a solution or a piece of code line by line, and use AI to test hypotheses they have already formed.

My course policies follow from these principles. Students must be able to explain every line of code they submit, must rewrite any AI-generated text in their own words, and must verify every engineering judgment in their reports. Exams are closed-book and taken without technology, and in EE 3315 the exams and self-assessments together account for three quarters of the course grade, so that grades reflect what each student can do on their own.

Courses

Since joining UVM in 2014, I have developed and taught the six courses below, all as sole instructor. UVM changed to four-digit course numbers in 2023, and former numbers appear in parentheses.

EE 3315 (EE 113) Electric Energy Systems

Undergraduate, lecture with laboratory. Taught Spring 2015, 2018, 2019, 2020; Fall 2022, 2023, 2024, 2026.

Students who study power engineering today are entering the field during its most consequential period since the grid was first built. Batteries, power electronics, electric motors, and computing are converging into an integrated electro-technology stack that is reshaping energy, manufacturing, and national security. Solar and wind have become some of the least expensive sources of new electricity, batteries now store energy both at grid scale and in homes, vehicles and building heating are shifting to electricity, and data centers are driving new growth in electricity demand. Nearly every one of these new devices connects to the grid through a power-electronic converter, so the grid that today's students will operate depends as much on semiconductors and software as on spinning generators.

EE 3315 teaches electric energy systems through the electro-technology stack, following electricity from where it is generated and stored, through the equipment that converts and delivers it, to the machines that consume it. The course is organized in five modules. Students begin with the energy system as a whole and the thermal power plants that still supply much of today's electricity, and they then study wind turbines, solar PV cells, and lithium-ion batteries using DC circuit models. The third module introduces the DC/DC converters and inverters that connect solar panels and batteries to the AC grid, along with phasors, complex power, and power factor. The fourth module covers three-phase power and the transformers that deliver electricity across the grid, and the final module treats the induction and synchronous machines that convert electrical energy into motion and back, which completes the picture of the stack.

Nine laboratory sessions in TESLa, the Energy Systems Laboratory in Votey 312, give students hands-on experience with each part of the stack. Students measure motor efficiency, trace the current and voltage characteristics of solar panels, characterize lithium-ion battery cells, measure power factor and three-phase quantities, test transformers, and compare induction and synchronous machines. The solar PV lab runs a week ahead of the solar lecture, so students collect data first and then learn the theory that explains their measurements. In a two-part design study, students write simulation code with the help of generative AI tools and use their code to compare a natural-gas combined heat and power plant against combinations of solar, wind, and battery storage for supplying a 100 MW data center, weighing cost, emissions, and reliability over a 20-year horizon. The class may also tour UVM's Accelerated Testing Laboratory, the Hybrid Solar Test Center, and local utility infrastructure. EE 3315 is a required course in UVM's Sustainable Energy Engineering Minor.

Course materials (Fall 2026)

  • Sun Angles on a Fixed Tilt: an interactive tool for the solar PV module in which students adjust latitude, solar declination, hour angle, and the tilt and azimuth of a fixed panel to see how the angle of incidence between the sun and the panel changes over a day and across the seasons.

EE 6130 (EE 395/303) Convex Optimization and Applications

Graduate. Taught Spring 2017, Fall 2018, Spring 2021, Fall 2022, Spring 2024, Spring 2026.

I created this course in 2017 to cover convex analysis, duality, and optimization algorithms, and each student completes a final project connected to their own research. The course regularly enrolls students from electrical, mechanical, civil, and biomedical engineering and from mathematics.

EE 6110 (EE 301) Linear System Theory

Graduate. Taught Fall 2015, 2017, 2019, 2025.

A core course for the EE doctoral qualifying exam covering state-space models, solutions of linear systems, stability, controllability, and observability.

EE 5310 (EE 215) Electric Energy System Analysis

Senior and graduate elective. Taught Fall 2014, 2016, 2020.

EE 2135 (EE 021) Circuits II

Undergraduate, required second-year course with laboratory. Taught Spring 2023.

EE/ME 210 Control Systems

Undergraduate. Taught Spring 2016.

Research Mentoring

Much of my teaching takes place in the CORE Systems Lab, where I advise Ph.D., M.S., and undergraduate students on research in power and energy systems, optimization, and control. Undergraduate researchers in the lab work alongside a Ph.D. student mentor so that a strong undergraduate project can mature into a published paper. Students interested in joining the lab are welcome to contact me at malmassa@uvm.edu.