GPGPU-10, 2017.

The 12th USENIX Symposium on Operating System Design and Implementation, 2016.



  • Mozilla Research, Summer 2017
  • Google, Summer 2016
  • Google, Summer 2015
  • Foursquare, Summer 2013


I am a teaching assistant for the following courses at University of Texas at Austin:

  • CS 373 Software Engineering
    • Hold office hour and grade homework
  • CS 380L Advanced Operating Systems
    • Hold office hour and grade homework
  • CS 371M Mobile Computing
    • Give one guest lecture on SQL and how to use SQLite in Android
    • Create two flipped classroom projects on ListView and SQLite database
    • Create a demo program to illustrate how to use SQLite database in Android
    • Implement homework solutions
  • CS 439 Principles of Computer Systems
    • Lead two discussion sections two hours a weak
    • Hold two two-hour office hour a weak healping students on design and implementation of varies operating system components
    • Grade OS design documents and give comments for design mistakes
    • Help to prepare and grade exams

I am a undergraduate teaching assistant for the following courses at University of Washington, Seattle:

  • CSE 374: Intermediate Programming Concepts and Tools
  • CSE 373: Data Structures and Algorithms
    • Answer homework questions and classify concepts taught in classify
    • Grade homework and give feedback to students
    • Grade exams and summarize students’ main confusion to professor


Motivation DOM is the API that allows JavaScript to interact with HTML documents. The object that is a part of the DOM API is usually implemented as heap allocated C++/Rust object for most browsers. For JavaScript to interact with these objects, it needs to go through a wrapper called a reflector that gives JavaScript code access to the DOM object. For example, the DOM objects and reflectors on Servo is shown in Figure 1.