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
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."
- Tags - Modern Control Analysis, Modern Control, Design, MIMO Control Analysis, MIMO Control Design, Linear Algebra, Model Uncertainty, LQG Control Analysis, LQG Control Design
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."
- Tags - Controls, Signal Processing, Linear Algebra, System Identification, Simulink, Control Design, State Estimation
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."
- Tags - Hardware Design, PCB Design, Embedded Software, Embedded Hardware, Signal Processing
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."
- Tags - Signal Processing, Machine Learning, Linear Algebra, Least-Squares Methods
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.
- Tags - Autonomy, State Estimation, Control, Machine Vision, Machine Learning, Sensor Fusion, State Estimation
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."
- Tags - Hardware Design, PCB Design, Embedded Software, Embedded Hardware, Signal Processing
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."
- Tags - GNC, Navigation, Control, Guidance, Kalman Filtering, Inertial Navigation, Sensor Fusion, Stochastic Linear Systems
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."
- Tags - Deterministic Linear Systems, Linear Algebra, State Space, Controllability, Observability, Stability, Canonical Representations
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)."
- Tags - GNC, Navigation, Control, Guidance, Kalman Filtering, Inertial Navigation, Sensor Fusion, Stochastic Linear Systems
-
Final Project - DOGBOT
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."
- Tags - Digital Signal Processing, MATLAB Design, Discrete-Time Analysis, z-transform, Stability, Windowing, Difference Equations
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)."
- Tags - C, Processor Structure, Assembler Design, Processor Simulation, Assembly Programming, Caching, Logic Design, Pipelines
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."
- Tags - Time Domain Analysis, Frequency Domain Analysis, S Domain Analysis, PID Control, Precompensation Design
-
Maglev Controller
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."
- Tags - Time Domain Analysis, Frequency Domain Analysis, S Domain Analysis, PID Control, Microcontrollers, Haptic Feedback, PWM, UART, Timers, Interrupts, C, ARM, Discrete Time Models, Model Based Control Design, Real Time Scheduling, RTOS
-
Final Project - Adaptive Cruise Control
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."
- Tags - Probability, Random Variables, 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."
- Tags - Semiconductors, PN Junctions, Metal Junctions, Diodes, MOSFETS, BJTs
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."
- Tags - Transmission Line Theory, Electrostatics, Magnetic Fields
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."
- Tags - FPGAs, Combinational Circuits, Sequential Circuits, Boolean Algebra, Canonical Forms, Finite State Machines, Verilog
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."
- Tags - C, C++, Data Structures, Binary Trees, Linked Lists