Teaching

2014

Purdue University - ECE 362

In 2014, as an undergraduate in ECE at Purdue University I served as a teaching assistant for ECE 362, an embedded systems design class. We taught students how to interface microcontrollers with peripheral components such as LCD screens, external memory devices, and motors. We taught them how to write firmware for ADCs, interrupt controllers, PWM modules and other microcontroller peripherals. Students completed a project at the end of the course that demonstrated their embedded systems design skills. As a student in the class the previous semester, my teammates and I created a water jet audio visualizer cleverly named the Aqualizer.

2013

Purdue University - ECE 270

In 2013, as an undergraduate in ECE at Purdue University I served as a teaching assistant for ECE 270, an introduction to digital design class. We taught students about combinational and sequential logic. Students learned to use CPLDs to implement various digital circuit designs they created using ABEL, a hardware description language. By the end of the course students had to design a simple, single cycle processor.


Graduate Coursework

EECS 589 - Advanced Computer Networks (Fall 2015): instructor Z. Morley Mao

EECS 573 - Microarchitecture (Fall 2015): instructor Todd Austin

EECS 588 - Computer and Network Security (Winter 2016): instructor J. Alex Halderman

PUBPOL 750 - Cyber Conflict (Winter 2016): instructor Robert Axelrod

EECS 582 - Advanced Operating Systems (Fall 2016): instructor Mosharaf Chowdhury

EECS 592 - Artificial Intelligence (Fall 2016): instructor John Laird

EECS 545 - Machine Learning (Winter 2017): instructor David Daniszewski