I am interested in generating programs through Program Synthesis. I am also interested in creating tools for people who might not be as CS inclinded, which includes non-programmers and programmer novices.
Last updated: November 2021
I am currently working on a Program Synthesis + HCI project that aims to build a synthesis tool for visual programming. The tool is aimed towards children who are just learning to program for the first time. We are writing our synthesis tool in Rosette. This project is in collaboration with Ras Bodik (professor), Amy Ko (professor), and Stefania Druga (PhD student).
In my undergrad, I worked with Nadia Polikarpova on building a type-guided top-down enumerative synthesis tool for fully polymorphic and higher-order programs in Haskell. It was built as an alternative search algorithm to Hoogle+, a tool that allows users to provide a type signature and optional examples and get back a code snippet that consists of a composition of Haskell library functions. With this research, I won 1st place at the 2021 POPL Student Research Competition with my 3-page abstract that I co-wrote with another undergrad, Daniel Wang.
Before that, I worked with Jishen Zhao on targetting the exploration of various software caching mechanisms in key-value store database on SSD using C++ and Linux. We further analyzed the access patterns of various applications and aimed to identify bottlenecks of Linux's mmap() system call. This research was part of the Early Research Scholars Program, a research program designed for 2nd year CSE students to gain access to the Computer Science research. I presented my work through a poster presentation at the UCSD CSE Research Expo.
Exploring Performance of Memory Mapping, Bonnie Dai, Darya Verzhbinsky, Clair Li, Shayan Raisi. 2019 UC San Diego CSE Research Expo. [poster]
I am not a TA right now.
CSE 130: Programming Languages [Spring 2021]
CSE 8A: Introduction to Computer Science (Python) [Winter 2021]
CSE 8A: Introduction to Computer Science (Python) - head tutor to around 35 undergraduate tutors [Fall 2020]
CSE 130: Programming Languages [Spring 2020]
CSE 130: Programming Languages [Winter 2020]
CSE 8A: Introduction to Computer Science (Java + Python) - head tutor to around 35 undergraduate tutors [Fall 2019]
CSE 20: Introduction to Discrete Mathematics [Spring 2019]
CSE 12: Basic Data Structures and OOD (Java + C) - assigned grading and managed scheduling [Winter 2019]
CSE 8A: Introduction to Computer Science (Java) [Fall 2018]
Girls Who Code
Summer Immersion Program:
non-profit "building the world's largest pipeline of future female engineers". Taught a classrom of
20 high school girls on the basics of Computer Science (Scratch, Python, Arduino C / Robotics, Web Development,
Data Science, Algorithms). Also helped the students build their final projects during their final week.
When I was applying to PhD programs for the Fall 2021 cycle, I spent a lot of time trying to find examples of what a Statement of Purpose (SOP) should look like. All I found were websites that alluded to what a statement should look like without actually showing one. I felt that most, if not all, of the advice I got on how to write one was from people in my life telling/showing me. I wanted to put my own application documents on my website so that people who were interested in applying to Computer Science PhD programs had an actual example to look at.
I wish the entire application process was more transparent. I find that there are many ways to make it more accessible to people, and that departments have a ways to go in this area. I want to do what I can to bridge this gap as much as possible. If you would like to get more advice on applying to grad school, such as feedback on a statement or more information on how my application cycle went, please feel free to email me whenever.
Here are some general guidelines that I followed that I think made my SOP good, and most importantly, sound like me.
There were some links I found that I think offer a nice perspective on this process as well. Here are the ones I used: