Teaching

University of Michigan Teaching Assistant positions

Advanced Programming Languages (Fall 2022, Jean-Baptiste Jeannin)

EECS 590, the Advanced Programming Languages class typically taken by Computer Science graduate students, introduces students to the core concepts involved in programming language theory and design. Some of the topics we cover include small- and large-step evaluation, type systems, and axiomatic semantics. Besides holding office hours and grading assignments, I also had the opportunity to teach two lectures on type theory, in which I was able to draw connections to my own research project. Assisting with the class had also reinforced my own understanding of the material, and gave me valuable lessons in planning and giving lectures.

Median Instructor Score: 4.8/5

Fundamentals of Aerospace Computing (Fall 2021, Jean-Baptiste Jeannin)

AERO 350 is an original course designed by my advisor to teach foundational computing and software design concepts to upper-level aerospace undergraduates. The course aims to prepare the next generation of aerospace engineers to enter an industry that is increasingly dominated by computation and computational methods. Some of the concepts we teach include commonly-encountered data structures and algorithms, computational fluid dynamics, and embedded systems design. Students are expected to not only learn the theory, but also put theory into practice with real-world coding exercises. Drawing inspiration from methods used in Computer Science courses, I helped to create the course’s first automated grading system, which continues to be used and maintained in subsequent semesters. I learned a great deal of communications and troubleshooting skills in the office hours I held, and received many positive comments from students who attended.

Median Instructor Score: 4.9/5


Indiana University Undergraduate Teaching Assistant position

Honors Discrete Logic (Spring 2018, Erik Wennstrom)

CSCI-H 241 is the Honors section of discrete math, covering propositional and first-order logic, proof techniques, and set theory. My responsibilities in the class primarily consisted of leading discussion sections, holding office hours, grading assignments, and proctoring exams and quizzes. I also had the opportunity to lead an exam review session during a regularly-scheduled lecture period, which was my first experience teaching in a university-level class.