Press the "**+**" button for **sample coursework** and more information about selected courses.

CSCI 8980

Perception and Action Planning

ROS 8777

Thesis Credits

CSCI 5563

Multiview 3D Geometry in Computer Vision

Homework 1: Panoramic Image Generation

Homework 2: Single View Image Navigation

Homework 3: Single View Depth Prediction

Homework 4: Structure from Motion

Homework 5: Depth Fusion

EE 5235

Robust Control System Design

EE 5561

Image Processing and Applications

CSCI 5525

Machine Learning

Homework 1: Fisher's LDA, Logistic Regression, and Naive-Bayes

Homework 2: Dual-form, Kernel, and Multi-class SVMs

Homework 3: Tensorflow neural networks and CNNs

Homework 4: Adaboost, Random Forests, and k-means for image segmentation

CSCI 5561

Computer Vision

Homework 1: Facial regognition using HOG descriptor

Homework 2: Multiframe tracking with inverse compositional alignment

Homework 3: Scene recognition using bag-of-words model

Homework 4: Convolutional Neural Network implementation

Homework 5: Stereo reconstruction using epipolar geometry

EE 8950

Introduction To Controls and Signals for Robotics

ROB 8970

Robotics Colloquium

ECE 532

Matrix Methods In Machine Learning

This course covered theory and applications of linear algebra in machine learning. Topics included the singlular vector decomposition, least squares classification, principle component analysis, stochastic gradient descent, support vector machines, k-means, and neural networks.

See my final project on convolutional neural networks.

ECE 439

Introduction To Robotics

This course covered the basics of robotics including sensors, motors, transformations, kinematics/inverse kinematics, Robot Operating Systems (ROS). The course included a hands-on lab where we worked with mobile robots and a 6-axis robotic arm.

See my final project on augmented reality robot control.

CS 559

Computer Graphics

This project was an exercise in 2D agent animation. Each Boid has limited vision and is only aware of what is happening near it. By altering some parameter of how the Boids change their direction, we can make complex flocking behaviors emerge. Obstacle avoidance was also implemented for each Boid.

In another 2D graphics example, we plotted Bezier splines and used the parametric equations to make a train circle around a track. The user can add new control point by Shift-clicking and can change the position of existing points by clicking and dragging.

Graphics Town is the accumulation of all of our 3D work in the class. Animation, modeling, lighting models, shadow maps, texture maps, custom shaders were all used to create the 3D world using the Three.js API.

Math 632

Introduction To Stochastic Processes

Physics 415

Thermal Physics

ECE 303

Introduction to Real-Time Digital Signal Processing

ECE 317

Sensors Laboratory

In this lab, we built and tested three different temperature sensing circuits: one using the LM335 temperature sensor, another using a LT1025 with a thermocouple, and the last circuit using the LT1025 in addition to a voltage-regulating opamp. We found that the thermocouple with the LT1025 chip was the most accurate. We then used this circuit to predict the temperature of an unknown source using only the voltage from our thermocouple and comparing it with the true temperature read from a thermometer. Below is our final circuit and results.

In this lab, we tested three types of photodetector sensors: a photodiode, photoresistor, and a phototransistor. In the photodiode circuits, we also built a typical transimpedance amplifier and a differential transimpedance amplifier to condition our sensor voltage to detect the presence of a phone LED light. Using this sensor, we could build an energy-saving light switch (i.e. turn on lights at night time, and switch them off during the day to conserve power). Another application could be measuring ambient light to set the exposure on a camera. Below is the image of the differential transimpedance amplifier that we used in order to improve the sensitivity of our photodiode.

Math 514

Numerical Analysis

CS 540

Intoduction to Artificial Intelligence

Topics covered in this course include informed/uninformed search methods, game playing, contraint satisfication problems, k-nearest neighbors, support vector machines, neural networks, and bayesian netowrks. Applications to computer vision and natural language processing were also explored.

In a few programming assignments, we implemented the A-star, alpha-beta pruning algorithm and sentiment analysis. We also created a neural network to solve the MNIST handwritten digit classification problem. Lastly, we built a decision tree using informational entropy to determine a patient's risk for cancer. The program used real data from UW Hospitals and was 82% accurate at predicting breast cancer on a testing dataset.

Physics 323

Electromagnetic Fields II

This class covered chapters 8-12 of Griffiths' Electrodynamics text. Topics covered include: EM field momentum, EM waves, gauge transformations, EM radiation, and relativistic electrodynamics. Four-vector and covariant notation was introduced and used for all relativity calculations.

Coursework sample 1 —
Coursework sample 2

Physics 531

Introduction to Quantum Mechanics

The first half of this course covered the fundamental mathematical basis of quantum mechanics, and the second half covered a variety of applications, mostly focused on the field of quantum computing. Topics: review of wave functions and the Schrodinger equation, matrix formalism of quantum mechanics, Dirac notation, addition of angular momenta, bloch sphere representation, coherent control of quantum systems, non-degenerate and degenerate perturbation theory, the WKB approximation, and tunneling.

Required Text: Griffiths' Introduction to Quantum Mechanics

Supplementary Text: Quantum Description of High-Resolution NMR in Liquids by Maurice Goldman

Homework 2 - Wave functions

Homework 8 - Rabi oscillations

Homework 9 - Coherent control of quantum states

Homework 10 - Entanglement

Physics 307

Intermediate Laboratory

This was a 2-credit lab course with a variety of experiments containing topics from my electromagnetism and quantum physics courses. Besides from the physical insights of the individual experiments, the course focused on correct error propagation and data analysis methods.

Lab 1 - Elements of Gamma ray counting and Gamma ray spectroscopy

Lab 2 was skipped due to a weather cancellation

Lab 3 - Probability Distributions and the Decay of Quantum States

Lab 4 - Cavendish Measurement of the Fundamental Gravitational Constant

Lab 5 - Attenuation of Gamma-rays in Matter

Lab 6 - Blackbody Radiation

Lab 7 - X-ray Production and Diffraction

Math 322

Applied Mathematical Analysis II

This was a course on methods of Partial Differential Equations (PDEs), with a large Matlab coding/visualization portion. We covered the heat equation, wave equation, laplace equation, shocks and rarefactions, and some introductory modeling techniques. In the last few weeks of the course, we also covered Fourier analysis. Below are some of the Mathlab visulaization I generated, as well as some sample coursework.

Coursework sample 1 — Coursework sample 2

These images show the solution to the heat equation at three separate times. The initial condition is a Dirac dilta function, and the boundary conditions a Dirichlet (heat=0 on the endpoints). You can see the heat uniformly spreading through the domain, and getting smaller in magnitude as the endpoints cool the region.

A Neumann boundary condition specifies that no heat transfers through the boundary. For this reason, we can see the entire domain heating up as the initial condition (in this case, a heaviside function) dissipates.

The wave equation propagates the initial condition both forwards and backwards on the domain. In this example, our initial condition (IC) is the "struck" case, which means that the our IC acts on the derivative. So for a dirac delta fuction, this would translate to an infinitely strong hit at t=0, x=0, much like a piano hammer hitting a string.

I've included two plots of the same domain. The waterfall image I think is easier to visualize, but the contor is interesting because the slope of the line is actually the propagation speed of our medium. Everywhere outside of the colored region is not causally connected with the starting spacetime point.

This image shows the Fourier approzimation of the Dirac delta fuction for three different values of N. The function requires N to be infinity to perfectly approximate the function, and it is periodic outside of our specified domain (0, 1).

ECE 340

Electronic Circuits I

ECE 271

Circuits Laboratory II

Physics 322

Electromagnetic Fields

This class covered chapters 1-7 of Griffiths' Electrodynamics text. Topics covered include: electrostatics, magnetostatics, electric and magnetic fields in linear media, and electrodynamics. The course essentially works up to the full time-varying set of Maxwell's equations, and consequences of those relationships (i.e. EM waves and radiation) are explored in Physics 323.

Coursework sample 1 —
Coursework sample 2

Math 321

Applied Mathematical Analysis

CS 400

Programming III

This class was largely focused on data structures. We covered AVL trees, red-black trees, B/B+ trees, hash tables, graphs, and sets. Additionally, we learned basic linux commands, lambda functions, git, JUnit tests, makefiles, and HTML/CSS. For more information on our final project in the course, see the JavaFX Meal Planner.

ECE 352

Digital System Fundamentals

This class covered digital logic, state machines, ALUs and basic processor structure, and register/memory configurations. For more information on our final project in the course, see the FPGA Mastermind Game.

ECE 203

Signals, Information, and Computation

The reference signal that was used to remove noise from the activation map.

The activation map clearly shows the active brain regions after the noise has been filtered out.

The impulse response of the minimax filter

The frequency response of a minimax filter has a much cleaner passband than the truncated LPF.

Physics 311

Mechanics

Math 431

Introduction to the Theory of Probability

CS 300

Programming II

Geography 101

Introduction to Human Geography

ECE 252

Introduction To Computer Engineering

Physics 241

Introduction to Modern Physics

Math 320

Linear Algebra and Differential Equations

Astronomy 206

History of Astronomy and Cosmology

Music 113

Music in Performance

Geography 305

Introduction to the City