My Story

I studied mechanical engineering and German at Duke for my undergraduate degree and mechanical engineering with a concentration in nonlinear dynamics for my PhD. My dissertation work focused on the dynamics and stability of single-track vehicles, especially road bicycles.

After graduation, I found my passion for education working at Duke Learning Innovation designing online courses. In 2016, I began teaching undergraduate dynamics at Duke, eager to implement the strategies I’d been learning about. Around the same time, a particular project on Java Programming piqued my interest in understanding code by drawing pictures of pointers, so I self-studied a colleague’s book All of Programming to learn how to program in C and C++.

Currently, I teach undergraduate dynamics and controls, as well as the graduate ECE course Programming, Data Structures, and Algorithms in C++. I use learning strategies such as handouts with gaps, study guides, and minute papers in my undergraduate courses, while teaching ECE 551D with a custom mastery learning platform and flipped classroom (where students read All of Programming, the book I used to learn to program). Students can also come extra-prepared by first taking the Coursera specialization Introduction to Programming in C, created by Andrew Hilton, Anne Bracy, and myself.