Classroom Teaching

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.

Undergraduate Advising

  • 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.