Click here for a summary of my teaching goals and philosophy.



  • Yichen Yu (PhD), EPFL
    • Research on Scala capturing types.
  • Nguyen Pham (PhD), EPFL
    • Research on capturing types and the Scala Gears asynchronous programming library.


  • Guannan Wei (PhD), Purdue, now an assistant prof. at Tufts
    • Research on staged symbolic execution and reachability types.
  • Siyuan He (PhD), Purdue
    • Research on reachability types/ownership type systems.
  • David Deng (PhD), Purdue
    • Research on reachability types/ownership/effect systems.
  • Anxhelo Xhebraj (PhD), Purdue, now at NVidia
    • Research on 2nd-class values and intermediate representations for functional programming languages.
  • Hannah Leung (PhD), Purdue, 2020-2022, now at UIUC
    • Research on dependent object types (DOT), logical relations.
  • Vaastav Arora (Undergrad), Purdue, 2020-2021, now at Salesforce
    • Research project on coeffect systems in Scala 3/Dotty.
  • Nitin John Raj (PhD), Purdue, 2020-2021, now at SiFive
    • Research on dependent object types (DOT).
  • Matthias Krebs, TU Darmstadt, 2018-2019
    • Master’s Thesis : Implementing Abstract Dependent Classes with SMT Solving.
  • Fabian Muscariello, TU Darmstadt, 2015
    • Bachelor’s Thesis : A Unifying Framework for Complex Event Processing.


Purdue University

TU Darmstadt

  • Team supervisor for the Software Engineering Project (SEP), where students work with industry partners on real-world projects.
  • Type Systems for Programming Languages, SS 2015, Seminar.
  • Teaching Assistant for Concepts of Programming Languages (COPL), 2014-2015, Lecture.