Skip to content

UW Courses

I completed an MSEE at the University of Washington from the Fall 2014 quarter through the Spring 2017 quarter. I did this while working full time for Milsoft Utility Solutions. While it was really challenging, I also really enjoyed the coursework and had a lot of fun writing most of the homework solutions in LaTeX. I will provide some of the compiled PDFs here.

EE 505 - Probability and Random Processes

Description - Foundations for the engineering analysis of random processes: set theoretic fundamentals, basic axioms of probability models, conditional probabilities and independence, discrete and continuous random variables, multiple random variables, sequences of random variables, limit theorems, models of stochastic processes, noise, stationarity and ergodicity, Gaussian processes, power spectral densities.

Thoughts - This was the combination catchup-to-math and weeder class for the UW MSEE program while I was there. It was tough but rewarding. Having done grad school before, I was prepared for the onslaught of material but many were caught unaware.

EE 558 - Substation and Distribution Automation

Description - Examines how smart grid technologies affect substation and distribution operations and how history, customer expectations, and state and federal policies have shaped the existing infrastructure. Studies the capabilities of various emerging technologies to assess how they are able to solve existing issues.

Thoughts - This was taught by Kevin Schneider who was Chair for the Seattle Chapter of IEEE Power & Energy Society at the time and I was Webmaster. It was great taking the course from Kevin and I really enjoyed the material. The final project around using GridLab-D was especially fun.

EE 553 - Power System Economics

Description - Economic structure of power systems. Problem formulation, optimization methods and programming for economic analysis of power system operation and planning. Economic dispatch, load forecasting, unit commitment, interchange, planning and reliability analysis. Provides background to pursue advanced work in planning and operation.

Thoughts - This was a fascinating class that actually focused a lot on learing the Mosel programming language to perform economic dispatch optimizations. The programming itself came down to integer programming. I suspect that ML will replace it at some point. The final project report is comprehensive - take a look!

EE 557 - Dynamics of Controlled Systems

Description - Explores control techniques for high precision motion control. Covers sate variable feedback of linear and nonlinear, multivariable systems in depth. Uses physical system modeling, graphical analysis, and numerical analysis to describe system performance. Uses simulation mini-projects to emphasize the dynamics of controlled systems and their performance.

Thoughts - This was the first of two courses I took taught by Nicholas Nagel who is an amazing teacher. Prof Nagel brought out the best in terms of report quality from me. My friend Ryan Smith was in the course too and he and I would see who could produce the most amazing report. We had fun learning different LaTeX techniques together too. Some reports follow.

  • EE 557 Homework 1 Report - This copy has a couple mistakes and has the source code removed from the end of the report. I challenge you to find the errors!

EE 556 - Analyzing the Power Grid

Description - The course explores the basic concepts for power system analysis. It also presents the modelling of transmission lines, transformers and generators for power system studies. Simplified methods to analyze grids with different voltage levels are discussed. Power system tools including power flows and fault analysis are then described and applied in illustrative examples.

Thoughts - This class was a critical one for me. Writing a Newton-Raphson load flow algorithm from scratch was on my bucket list. The source code for it is on GitHub here: MATLAB Newton-Raphson Load Flow

EE 551 - Wind Energy

Description - Covers the operation and modeling of wind energy, wind statistics, wind generators and converters, wind energy systems, challenges to wind energy development, impacts of wind energy on the power grid, and existing and potential solutions to wind energy integration.

Thoughts - This course was taught by the late Mohammed El Shakawri and was his final time teaching the course. It was fascinating learing and being able to calculate exactly how wind turbines generate power and exploring the ancillary services that modern wind farms with their power electronics are able to provide to the grid.

EE 560 - Advanced Machines and Drives

Description - Servo control requires proper knowledge and understanding of electric machines and power electronic drives. This course gives fundamental principles of AC and DC drive systems including machine structures and driver topologies. The fundamentals of brush DC, Brushless DC (BLDC), PM synchronous, and induction machines are explored. In addition, inverter topologies and control techniques are presented. The course begins with the basics of DC machines and extends to the concept of field orientation in AC machines.

Thoughts - This was the second course I took taught by Nicholas Nagel and it was incredibly challenging and rewarding. The final project involved building out an electric motor controller for a Tesla induction machine. Super cool. We got to use a power electronics simulator called PLECS by Plexim which was also amazing to work with.

EE 590 - Applied High Performance GPU Computing

Description - Introduction, evolution, and overview of parallel computing and overview to OpenCL. OpenCL host and kernel programming details, host and kernel programming details. Parallel software and performance theory, parallel FFT on GPU. Case studies in machine learning, image processing, and scientific visualization with GPUs and OpenCL.

Thoughts - This was a custom class in which we learned to write OpenCL for GPU programming. I bought a laptop with a GPU that I could program so that I could avoid going to the lab. I still have that laptop. It is currently my electronics workbench lab machine. For my final project, I worked with a classmate Eric Wilson to use parallel programming to downsample a radar data.