Working with Curie

I am a Ph.D. student at the University of Washington Information School, advised by Prof. Andrew J. Ko in the Code & Cognition Lab. My research interest is in developing mixed-initiative interactions to enable more equitable intelligent learning technologies.

My vision is to computationally model how people learn programming to develop personalized online learning experiences where the learner is in control.  I want people to see themselves not as quantified objects, but as qualified and qualifying selves.

Along with being a PhD student, I was also the Director of the Learning Co-op for the non-profit Seattle Data for Good and an instructor for an introductory course on data science to undergraduates (INFO 370). Prior to attending UW, I was a student at MIT advised by Hal Abelson, researching how developing apps with MIT App Inventor relates to learning computational thinking skills.

I am a National Science Foundation (NSF) Graduate Research Fellow and was previously an MIT EECS-Google Research and Innovation Scholar.

For more information, please contact me! Or have a look at my publications and CV.

Research Interests

  • human-computer interaction (mixed-initiative)
  • interactive artificial intelligence
  • computing education
  • intelligent tutoring systems


  • Ph.D. 2016-2021 (expected)

    Information Science

    University of Washington

  • M.Eng. 2015-2016

    Electrical Engineering & Computer Science

    Massachusetts Institute of Technology

  • S.B. 2011-2015

    Computer Science & Engineering

    Massachusetts Institute of Technology

News & Updates

Active Projects

  • Developing a mixed-initiative tutor for CS1 (6/2017-)

    Developing a mixed-initiative tutor for CS1 (6/2017-)

    Supporting novice programmers by developing a transparent and interpretable intelligent tutor

    This work contributes to the long-term vision of supporting introductory computer science courses by providing individualized tutoring at scale.

    The rapid surge in enrollment for introductory CS courses has led to challenges in providing personal feedback to learners. We are developing a mixed-initiative tutor to teach program semantics and design patterns. This tutor will be able to negotiate initiative/authority with the student, provide relevant feedback to support learning, and show the learner their progress in an interpretable way.

    This work is in collaboration with Professor Min Li (UW College of Education) and is supported by an NSF Cyberlearning Grant.

  • Teaching data science as a decision-making process (5/2017-)

    Teaching data science as a decision-making process (5/2017-)

    I frame data science as a thinking process which uses data to make/inform decisions


    The long-term vision of this work is to develop data science pedagogy such that it is focuses on a thinking process rather than tools which will become out-dated.

    We define data science as an iterative process of augmenting human thinking with computational tools to use data to make decisions in/about the world. We emphasize that data science happens within a decision and social context. By doing this, we believe we can help train people to think about data science as a very human endeavor.

    Course Homepage (INFO 370)

    Working with Greg Nelson (UW CSE PhD Student).

  • Teaching strategies for program comprehension (3/2017-)

    Teaching strategies for program comprehension (3/2017-)

    Improving novice programmer's ability to read/trace/comprehend code by explicitly teaching them strategies

    This work contributes to the long-term vision of understanding and improving the process in which novices comprehend code.

    Introductory computer science courses emphasize teaching the syntax and semantics of programming, but often fall short of teaching students how to apply this knowledge. I believe that explicitly teaching novice programmers strategies that reflect how computers execute code can improve their ability to comprehend it.

    Thus far, I have found that explicitly teaching a strategy which involves tracing line-by-line and explicitly writing out variable values can improve students’ tracing ability (SIGCSE 2018).