I am a fourth-year undergraduate in Computer Science at Northwestern University, supervised by Haoqi Zhang, Nell O'Rourke, and Jason Hartline. I am a member of Design, Technology, and Research and the Delta Lab.
My research interests broadly intersect HCI, computing education, programming languages, and software engineering. I particularly enjoy working on developer tools and programming environments to scaffold and support non-expert programmers.
I've been generously supported by the Google Lime Scholarship, Palantir Women in Technology Scholarship, Microsoft Tuition Scholarship, and Box Engineering Diversity Scholarship. Thanks, companies!
This summer, I will intern with Human Experience and Design at Microsoft Research Cambridge, UK. I will join Khan Academy as a software engineer in Fall 2018, helping to build a free, world-class education for anyone, anywhere. #YouCanLearnAnything
Service and Teaching
- I'm a head teaching assistant for introductory EECS courses, with a particular focus on mentoring students without prior programming experience. Most of my efforts have revolved around curriculum development for EECS 111: Fundamentals of Computer Programming I at Northwestern.
- I started an onboarding and mentorship program for DTR, working to pair new researchers with experienced student mentors.
- I sit on the Weinberg Student Advisory Board, representing Computer Science majors in the Weinberg College of Arts and Sciences.
- During the 2016-17 school year, I was one of two students serving alongside faculty on the Weinberg Curricular Review Committee, reviewing proposed changes to majors, minors, and academic offerings within the College.
I've completed software engineering internships at:
- Khan Academy, where I rebuilt exercise reports, and helped build the LearnStorm 2017 dashboard these kids are cheering at.
- LinkedIn, where I wrote an SVG charting library to replace Highcharts in production on the InMail Reporting Hub, and worked on relevance algorithms.
I was previously a research assistant in the following groups:
- Center for Connected Learning at Northwestern, directed by Prof. Uri Wilensky. I developed extensions and implemented experimental Web Worker threading for NetLogo Web.
- Early Childhood Cognition Lab at the University of Washington, assisting Prof. Jessica Sommerville's research into prosocial behavioral awareness during infancy.
Neither here nor there:
- I was a digital campaigns intern at Common Cause Illinois, where I worked on branding and graphic design for the Fair Elections Illinois and Chicago For Net Neutrality campaigns.
- My mood is well-correlated with my current streak on the New York Times crossword puzzle.
- I avidly enjoy classical music and jazz. I have been playing the flute since I was nine.
- I'm a former policy debater. I founded the nationally-ranked Interlake Policy Debate Team and was part of the Northwestern Debate Society's 15th national championship squad. I also coached for high school programs across the country, taught a lab at the Northwestern Debate Institute on the surveillance topic, and worked at the Stanford National Forensic Institute on the oceans topic.
Spoke at the Northwestern Big Ideas Forum, "How We Learn About Learning," with professors Nell O'Rourke and David Uttal, and fellow undergrad Gabby Ashenafi.
Ply wins the CHI 2017 Student Research Competition! Northwestern Engineering has a nice write-up about the whole thing.
Received a Microsoft Tuition Scholarship for 2017-18.
Ply: Visual Regression Pruning for Web Design Source Inspection is accepted to the CHI 2017 SRC.
Recent escapades in research, development, and coursework.
Visual Regression Pruning
We introduce a visual significance heuristic for removing irrelevant HTML and CSS source code during web design reverse-engineering tasks. CHI 2017 Student Research Competition Winner, Denver, Colorado.
Guiding Web Inspection with Tutorial Keyword Frequency
In order to bridge the gap between web design tutorials and real-world examples, we extend a web inspector to highlight CSS properties frequently mentioned across a given set of tutorials. Presented at 2016 Google Scholars' Retreat, Mountain View, California.
SVG Charting Library
An opinionated Ember.js addon to replace Highcharts with native SVG and DOM APIs. Released addon as a company-wide multiproduct. I worked on this project during my internship at LinkedIn, under the mentorship of Cody Coats and Michail Yasonik.
Predicting the Popularity of User-Generated Discussion Questions
EECS 349: Machine Learning
Using Python with the Reddit API and NLTK library, we collect information about AskReddit posts over a two-week period to analyze what makes a question popular. Alternating decision trees achieve 72.9819 accuracy with 10-fold cross-validation, an improvement over the ZeroR baseline of 51.0708. Features related to the language of the question, time and day of posting, and initial commenting behavior prove most informative. With Sameer Srivastava, Jennie Werner, and Aiqi Liu.
Northwestern Debate Institute
End-to-end Google Apps Script-based pipeline for publishing practice debate comments to individual students' feedback pages. Previously, instructors needed to manually edit the feedback pages for all four students in order to provide feedback from practice rounds. Deployed at the 2015 Northwestern Debate Institute and subsequently adopted for the entire program in 2016.
I serve as a teaching assistant for the following courses at Northwestern. Terms marked with an asterisk (*) denote a head teaching assistant role.
EECS 474: Probabilistic Graphical Models
Graduate-level Bayesian and Markov network representation, inference, and learning. With Doug Downey.
EECS 111: Fundamentals of Computer Programming I
Fall 2015, Winter 2016, Fall 2016*, Winter 2017*, Fall 2017*
EECS 214: Data Structures and Data Management
Spring 2016, Spring 2017
Data structures and algorithms in C#. With Ian Horswill.