This page will highlight some of the classes I took during my time at the University of Michigan as a graduate student and as an undergraduate student.


Summary

Master's of Science in Engineering: Electrical and Computer Engineering

Degree in Embedded Systems with a focus on Control Systems

Bachelor's of Science in Engineering: Electrical Engineering

Focus on Control Systems and Signal Processing

Graduate Career

University of Michigan, Ann Arbor

Masters's of Science in Engineering: Electrical and Computer Engineering

Graduated in May 2018

EECS 565 - Linear Feedback Control Systems Winter 2018

Description - "Control design concepts for linear multivariable systems. Review of single variable systems and extensions to multivariable systems. Purpose of feedback. Sensitivity, robustness, and design tradeoffs. Design formulations using both frequency domain and state space descriptions. Pole placement/observer design. Linear quadratic Gaussian based design methods. Design problems unique to multivariable systems."

EECS 561 - Digital Control Design Winter 2018

Description - "Sampling and data reconstruction. Z-transforms and state variable descriptions of discrete-time systems. Modeling and identification. Analysis and design using root locus, frequency response, and state space techniques. Linear quadratic optimal control and state estimation. Quantization and other nonlinearities. Computer simulations and laboratory implementation of real-time control systems."

SPACE 584 - Space Instrumentation Winter 2018

Description - "This class teaches students how to design, build, test and deploy a completely autonomous, sophisticated system that is designed to accomplish a specific task. The primary system is a small-satellite, deployed on a high-altitude balloon. This system involves communication, position tracking, microcontrollers, instruments and a power system."

EECS 551 - Matrix Methods for DSP and Machine Learning Fall 2017

Description - "Theory and application of matrix methods to signal processing, data analysis and machine learning. Theoretical topics include subspaces, engenvalue and singular value decomposition, projection theorem, constrained, regularized and unconstrained least squares techniques and iterative algorithms. Applications such as image deblurring, ranking of webpages, image segmentation and compression, social networks, circuit analysis, recommender systems and handwritten digit recognition. Applications and theory are covered in greater depth than in EECS 453."

MECHENG 599 - Self-Driving Vehicles: Perception and Control Fall 2017

Description (not a quote, Special Topics classes are a bit less formal. This is the description in my own words) - Overview of the fields of study related to self-driving vehicles. Modern and classiscal control design and analysis, machine vision techniquies, sensor fusion, machine learning.

EECS 473 - Advanced Embedded Systems Fall 2017

Description - "Design of hardware and software for modern embedded systems. Real-time operating systems. Device drivers for general operating systems. PCB design including power integrity and electromagnetic interference. Radio frequency and wireless communication. Low-power design. DC/DC converter design for PCBs. Rapid prototyping of embedded systems. Groups will design a complete embedded system."

Undergraduate Career

University of Michigan, Ann Arbor

Bachelor's of Science in Engineering: Electrical Engineering

Graduated Magna Cum Laude in May 2017

Received Dean's List Fall 2013, Winter 2014, Fall 2014, Fall 2016, and Winter 2017

AEROSP 584 - Navigation and Guidance of Aerospace Vehicles Winter 2017

Description - "Principles of aerospace navigation and guidance. Deterministic and stochastic linear perturbation theory. Position fixing and celestial navigation with redundant measurements. Recursive navigation and Kalman filtering. Pursuit guidance, proportional navigation, ballistic guidance and velocity-to-be-gained guidance."

EECS 373 - Design of Microprocessor Based Systems Winter 2017

Description - "Principles of hardware and software microcomputer interfacing; digital logic design and implementation. Experiments with specially designed laboratory facilities. Introduction to digital development equipment and logic analyzers. Assembly language programming. Lecture and laboratory."

EECS 498 - Special Topics: Hands on Robotics Winter 2017

Description (not a quote, Special Topics classes are a bit less formal. This is the description in my own words) - This class centered around the completion of three projects: motion around a track without wheels or any other continously rotation parts, navigation between placed waypoints with limited or no sensor data, and drawing on a configurable surface. These projects overall taught mechanical and software design for robotics.

EECS 560 - Linear System Theory Fall 2016

Description - "Linear spaces and linear operators. Bases, subspaces, eigenvalues and eigenvectors, canonical forms. Linear differential and difference equations. Mathematical representations: state equations, transfer functions, impulse response, matrix fraction and polynomial descriptions. System-theoretic concepts: causality, controllability, observability, realizations, canonical decomposition, stability."

EECS 452 - Digital Signal Processing Lab (Senior Capstone Class) Fall 2016

Description - "Architecture features of single-chip DSP processors are introduced in lecture. Laboratory exercises using two different state-of-the-art fixed-point processors include sampling, A/D and D/A conversion, digital waveform generators, real-time FIR and II filter implementation. The central component of this course is a 12-week team project in real-time DSP Design (including software and hardware development)."

AEROSP 450 - Flight Software Systems Winter 2016

Description - "Theory and practice of embedded flight software systems. Computational theory topics include discrete mathematics, finite automata, computational complexity, and model checking. Software development concepts include object-oriented programming, networks, multi-threaded software, real-time scheduling, and sensor/actuator interface protocols. Emphasis placed on C/C++ development in Linux with guidance, navigation and control applications."

EECS 351 - Introduction to Digital Signal Processing Winter 2016

Description - "DSP methods and applications. Sampling and reconstruction, difference equations, convolution, stability, z-transform, transfer function, frequency response, FIR and IIR, DTFT, DFT, FFT, windows, spectrogram, computer-aided filter design, correlation, multirate, basic image processing, discrete-time wavelets, filter banks. Applications: filtering, denoising, deconvolution, classification, others."

EECS 370 - Introduction to Computer Organization Winter 2016

Description - "This course is intended to give you a basic understanding of how computers execute programs. Understanding computers means understanding the hardware/software process of how you and the computer work together to have the computer carry out a concept. In your introductory programming courses, you learned how to express a concept in terms of a high-level programming language such as C/C++. In EECS 370, you will see how a low-level language is executed by the hardware, and you will see how to put together basic, hardware building blocks to form the functional units of a computer. To achieve these goals, you will design and "build" simple computers at various levels of detail. In this course, building will not mean connecting chips and gates. Rather, you will describe the hardware in diagrams, finite-state machines, and hardware simulators (written in C)."

EECS 460 - Control System Analysis and Design Winter 2016

Description - "Basic techniques for analysis and design of controllers applicable in any industry (e.g. automotive, aerospace, computer, communication, chemical, bioengineering, power, etc.) are discussed. Both time- and frequency-domain methods are covered. Root locus, Nyquist and Bode plot-based techniques are outlined. Computer-based experiment and discussion sessions are included in the course."

EECS 461 - Embedded Control Systems Fall 2015

Description - "Basic interdisciplinary concepts needed to implement a microprocessor based control system. Sensors and actuators. Quadrature decoding. Pulse width modulation. DC motors. Force feedback algorithms for human computer interaction. Real time operating systems. Networking. Use of MATLAB to model hybrid dynamical systems. Autocode generation for rapid prototyping. Lecture and laboratory."

EECS 301 - Probabilistic Methods in Engineering Fall 2015

Description - "Basic concepts of probability theory. Random variables: discrete, continuous, and conditional probability distributions; averages; independence. Statistical inference: hypothesis testing and estimation. Introduction to discrete and continuous random processes."

EECS 320 - Introduction to Semiconductor Devices Fall 2015

Description - "Introduction to semiconductors in terms of atomic bonding and electron energy bands. Equilibrium statistics of electrons and holes. Carrier dynamics; continuity, drift, and diffusion currents; generation and recombination processes, including important optical processes. Introduction to: PN junctions, metal-semiconductor junctions, light detectors and emitters; bipolar junction transistors, junction and MOSFETs."

EECS 230 - Electromagnetics I Winter 2015

Description - "Vector calculus. Electrostatics. Magnetostatics. Time-varying fields: Faraday's Law and displacement current. Maxwell's equations in differential form. Traveling waves and phasors. Uniform plane waves. Reflection and transmission at normal incidence. Transmission lines. Laboratory segment may include experiments with transmission lines, the use of computer-simulation exercises, and classroom demonstrations."

EECS 270 - Introduction to Logic Design Winter 2015

Description - "Introduction to Logic Design Binary and non-binary systems, Boolean algebra digital design techniques, logic gates, logic minimization, standard combinational circuits, sequential circuits, flip-flops, synthesis of synchronous sequential circuits, PLA's, ROM's, RAM's, arithmetic circuits, computer-aided design. Laboratory includes hardware design and CAD experiments."

EECS 280 - Programming and Data Structures Fall 2014

Description - "Techniques and algorithm development and effective programming, top-down analysis, structured programming, testing, and program correctness. Program language syntax and static and runtime semantics. Scope, procedure instantiation, recursion, abstract data types, and parameter passing methods. Structured data types, pointers, linked data structures, stacks, queues, arrays, records, and trees."