During Fall’17 I was a Teaching Assistant for 15-122 Principles of Imperative Programming, Carnegie Mellon’s introductory imperative programming course. I taught two recitation periods, a lab period, held office hours, participated in grading, helped draft exams, and served as a liason between the two instructors and approximately two dozen undergraduate Teaching Assistants.
I was a Teaching Assistant for the Spring’16 iteration of 15-424 Foundations of Cyber-Physical Systems at Carnegie Mellon. In addition to holding weekly recitations and grading assignments, I transitioned course infrastructure to the use of the KeYmaera X theorem prover and re-designed several recitations to support this transition. Using KeYmaera X instead of the legacy KeYmaera 3 system enabled students to take on more ambitious course projects. These projects were presented to judges from industry, government, and academia at a competition shortly after the course completed.
I also re-designed and presented a guest lecture in the Spring’17 iteration of 15-424.
Other Teaching Experience
- I developed pedagogical software for 15-317 Constructive Logic at Carnegie Mellon. I also provided some support for both course staff and students in both 15-317 and the Spring’17 iteration of 15-424.
- As an undergraduate, I tutored throughout the Computer Science curriculum and served as a Supplemental Instructor for an undergraduate Computer Organization course at Carthage College, a small liberal arts college.
- I designed and taught CS-themed weekly enrichment activities at Pittsburgh Public School’s Science and Technology magnet.
- David Bayani ’16, Investigation and Implementation of Invariant Generation in The KeYmaera System for Hybrid Dynamical Systems.
- Viren Bajaj ’18 and Karim Elmaaroufi ’17, Verification of SCUBA Ascent Protocols.