Friday, January 29, 2021

Undergraduate research shines at Programming Languages symposium

Three UC San Diego computer science undergraduate students took home top honors at the Symposium on Principles of Programming Languages' Student Research Competition. Darya Verzhbinsky and Daniel Wang were awarded first place for their work on Polymorphic Enumerative Type-Guided Synthesis, and David Cao earned second place for his paper on Automated Dependent Resource Analysis.

All three students conduct research with Professor Nadia Polikarpova in the Computer Science and Engineering Department. They shared why they decided to study computer science, what is exciting about the field, and what else they're involved in on campus, in the Q&As linked below.

 Darya Verzhbinsky

Daniel Wang 


David Cao 

Q&A with computer science student David Cao

Computer science student David Cao was awarded second place at the Symposium on Principles of Programming Languages' Student Research Competition for his research analysis tool. Cao shares how he got interested in computer science, what is exciting about the field, and advice for students, in this Q&A.

Could you summarize the high level takeaways from your Automatic Dependent Resource Analysis work?

There are many existing tools which can analyze the upper bounds on the time and resource complexity of programs. Some tools can automatically determine these upper bounds, but the bounds they come up with aren't very specific. Other tools can tell you if a given upper bound is valid for a program, but these involve a lot of error-prone manual labor. Our technique combines the best of both worlds and can automatically infer more specific valid upper bounds on resource use.

Why did you decide to study computer science, and how did you wind up working with Prof. Polikarpova?

I first started developing some cursory CS experience in high school, with most of my CS knowledge coming from building side projects and Googling whatever I didn't know. Over time, I gained a particular interest in how programming languages worked, and since I heard the programming systems community here at UCSD was particularly active, applying to the CSE program was a no-brainer.

In the summer leading up to my first year at UCSD, I was a part of SPIS, where Prof. Polikarpova gave a presentation about her work on program synthesis. Her presentation piqued my interest in her work, so I reached out and arranged to meet and discuss some of it with her. Since then, I've been super fortunate to have been able to work with her on research in this field.

What do you enjoy about computer science and CS research?

Generally, being able to quickly iterate on and build programs to solve real-world problems has been super compelling to me, as it was my original interest into the field in the first place. With research in programming systems in particular, there are a few aspects which make it very interesting. For one, much of the work in this field combines theoretical elegance with the real-world applicability of software engineering. Additionally, research in this area is extremely foundational; since research in this area involves the tools used to create programs in the first place, innovations in this field can have potentially wide-ranging effects on how programs and software are built generally. And in general, it's super rewarding and exciting to create something which nobody has done before.

Additionally, working with Prof. Polikarpova in particular has been an incredible experience. Along with being a brilliant professor who has done tons of amazing work in a wide range of areas, she's been super supportive and has given great feedback on how I can improve my work. While working with her, I've learned a ton about program synthesis and PL research in general which I knew nothing about a year or so prior.

Are you involved in any groups/clubs/other activities on campus?

Currently, I'm a part of UCSD Wushu, where I help coordinate demos, and Alter Ego, an inclusive choreography-based dance team, where I help coordinate media projects. I've also just started getting involved with the YDSA chapter here at UC San Diego, and I'm also a part of KASA and VSA.

Any advice for future CS students?

The biggest piece of advice I would give is to be open to reaching out to other (grad) students and faculty. There's a ton of cool stuff happening within the CSE department, and the faculty are all super friendly and open to talking about their work! Plus, one of the benefits of virtual learning is that it's pretty easy to set up Zoom meetings with professors to discuss their work over virtual coffee or lunch.

Any plans/goals for your future? 

Right now, I'm leaning towards going into a career in academia and pursuing a career as a professor, so that I can teach and research programming languages as a profession. Doing research in this field so far has been a ton of fun, and I'd love to be able to explore this field further and teach about it for a living. Broadly, my general goal is to help build tools which make programming more accessible and less error-prone for everyone. But it's still pretty early days, so we'll see what the future holds!

Q&A with computer science student Daniel Wang

Computer science student Daniel Wang and research partner Darya Verzhbinsky were awarded first place at the Symposium on Principles of Programming Languages' Student Research Competition for their program synthesis tool. Wang shares how they got interested in computer science, what is exciting about the field, and advice for students, in this Q&A.

Why did you decide to study computer science, and how did you wind up working with Prof. Polikarpova?

Nowadays I'm really into design and human-computer interaction (HCI) rather than computer science proper. But studying computer science was a natural choice for past me who loved free engineering puzzle games like Manufactoria and KOHCTPYKTOP. To the computer science education crowd: yeah, I'm a big believer that games spark interest in computer science!

Later on I experienced some cognitive dissonance (in short: felt more like a bug fixer than a puzzle solver), so I got curious of alternative ways we approach computing. This brought me to HCI and also the field of programming languages (PL). It was in Professor Polikarpova's intro to program synthesis course where Darya and I started work on (what came to be) Petsy!

What do you enjoy about computer science and CS research?

So, computing is very empowering today! I don't think that purely in the "you should learn to code" kind of way, but in a more user-centric HCI sense:

  • nowadays online calculators can interpret plain English (spoken or typed) instead of math symbols,
  • nowadays you can translate text by pointing your phone camera at it, and
  • nowadays you can find websites that let you autocomplete your cover letter, and your Harry Potter slash fic, and everything in between.

I love seeing things like this! I love how the fruits of computing can be made accessible by making it as easy as possible to specify the task to be done, without needing a manual, and without needing to be taught. In other words, these make computing intuitive.

That's really interesting because computing, and computer science especially, has this reputation of being very counter-intuitive. I've often heard complaints that it's "too" programming- and math-heavy. And again, that has me exploring the intersection of HCI and PL. HCI is exciting because you learn how computing is made accessible and intuitive, and PL is exciting because you explore new ways to make it happen. (like program synthesis!)

Are you involved in any groups/clubs/other activities on campus?

Not now, but I used to dance with KOTX, a kpop dance team!

Any advice for future CS students?


There's no avoiding it: if you want to do CS research, you have to connect with some CS researchers. But that's unhelpful advice if you're like second year me, who was terrified of asking professors for research!

So it felt like getting into CS research was impossible until I learned of ERSP, which is a program that literally brings second years to work on CS research projects with CS faculty. And Professor Alvarado (who leads ERSP) really impressed upon me that professors like herself are there to support students like yourselves, which is really quite the opposite of terrifying!

So yeah check out ERSP! -->

Any plans/goals for your future? 

Right now I'm waiting to hear back from PhD applications! After that, there's lots of work I want to explore in the intersection of HCI and PL, regarding intuitive and accessible computing.

Q&A with computer science student Darya Verzhbinsky

Computer science student Darya Verzhbinsky and her research partner Daniel Wang were awarded first place at the Symposium on Principles of Programming Languages' Student Research Competition. Verzhbinsky shares a bit about this research, how she got interested in computer science, and advice for students, in this Q&A.

Could you summarize the high level takeaways from your paper?

PETSY is a program synthesis tool that lets users synthesize a Haskell code snippet from a given type. This is a really heavy search problem that searches through quite a large program space, so our biggest contribution is making our algorithm scale with a way to cache queries even if they have complex types. 

Why did you decide to study computer science, and how did you wind up working with Prof. Polikarpova?

I first got into computer science in middle school, where I took a class that taught us the basics of robotics. I thought it was really interesting, but because I was in an after school chorus that was very time consuming, I decided against pursuing it more. I left the chorus after my sophomore year of high school and was looking for something else to do, and discovered the Girls Who Code club at my school and thought I'd give it a try since I had liked robotics so much in middle school. GWC is a non-profit that provides support for clubs during the year and runs a summer program as well. Their goal is to inspire as many girls as possible to start coding. I heard about their Summer Immersion Program through my high school's club and spent 7 weeks between my junior and senior year learning how to program. This led me to take AP Computer Science my senior year, which gave me the confidence to apply to university as a computer science major.

I didn't know I wanted to do research when I first joined college. I did an industry internship the summer before my junior year of college and didn't enjoy it as much as I'd thought. In my sophomore year, I had participated in the Early Research Scholars Program at UC San Diego, run by Prof. Alvarado, and was reminded how cool research could be. I decided I wanted to give research another shot, but didn't know what area to research in. That fall, I took CSE 130 Programming Languages with Prof. Polikarpova. Even after the first week I knew this was an area I wanted to work in. I went to her office hours and asked how to participate in research, and we decided that I should reach out to her again when I finish the class and go from there. When I finished the class, she told me about her CSE 291 Program Synthesis graduate course, which I took the following quarter. The class was very project heavy, so I started working on a project that quarter that eventually became PETSY. I worked on it with another undergraduate, Daniel Wang. We continued the work into the summer of 2020 and have been doing it since.

What do you enjoy about computer science and CS research?

I love computer science because it's really fun and makes me think about things that are interesting and tough to work through. It also is the future, as everything around us nowadays is in some way related to CS, and I wanted to be part of that future. I really like research because it lets me work on something that I want to work on, instead of being restricted by what a company finds valuable. I have much more say in where my research goes, and I like having the control to take it where I want. I also did research over the summer when the COVID-19 pandemic was raging throughout the country, and research gave me purpose and structure to get through one of the toughest years of my life.

Are you involved in any groups/clubs/other activities on campus?

I am part of the Women in Computing club at UCSD. This is the first club I joined as a freshman, and I wouldn't be where I am today without it. I met some of my closest friends through the club, and it gave me the community of women CS majors that I was craving. As women, we still represent a small percentage of CS graduates, and WIC aims to build a community around these women to inspire us to stay in the major and give support. We also reach out to local high schools for outreach and try to get younger generations involved as well. I would recommend that any computer science or related majors join WIC as soon as they can. It is the best decision I made since coming to UCSD.

I also have been tutoring through the CSE department since my fall quarter sophomore year. I love tutoring, as it challenges me to think about the material in a different way, gives me the skills to talk about technical material in a simple way, and most importantly allows me to help the next generation of programmers at UCSD. In particular, I have tutored CSE 8A, which is our introductory programming course, a total of 3 times and am tutoring it this quarter for my 4th. I love teaching new CS majors how to code and aim to make them less scared of the field.

 Any advice for future CS students?

In terms of finding a community, which I think is one of the most important things you can do, I highly highly recommend joining one of the engineering diversity orgs. As mentioned in my previous question, I am part of Women in Computing. There is also the National Society for Black Engineers, Out in Stem, Society of Women Engineers, Society of Hispanic Professional Engineers, and Society of Asian Scientists and Engineers. These groups are made to provide different underrepresented groups in engineering with resources and communities to succeed in engineering majors.

In terms of finding a research topic, I recommend taking your upper-division classes as soon as you can and in as many different areas as possible. For instance, take something from CSE 120 series, CSE 130 series, CSE 140 series, and CSE 150 series first before specializing in a track if you don't know what area you like. This way, you can early on find out which series most excites you so you can take more classes in that series. After finding a subject that you're interested in, the best way to enter research is to talk to the professor who teaches the class you liked. While they might not have the capacity to mentor an undergraduate student, they can introduce you to other professors in the field at UCSD who might have a project for you to work on.

Any plans/goals for your future?

This past fall, I applied to Programming Language Ph.D. programs. So for the short term, I plan to get a Ph.D. After that, I'm still unsure what I want to do. I might want to become a professor or do research full time. I will see! This pandemic has taught me to not plan too far ahead haha.

FAQs about UC San Diego’s wearable mask sensor for COVID-19

Monitoring your potential exposure to COVID-19 could be as simple as wearing a sticker on your mask. Researchers at UC San Diego are developing test strips that can be stuck on N95, surgical or cloth masks and be used to detect the presence of SARS-CoV-2 in a person’s breath or saliva. 

This newly funded project has made headlines—and raised questions. For answers, we followed up with Jesse Jokerst, a professor of nanoengineering at UC San Diego who is leading the project. 

How is this approach different from other at-home tests for COVID-19? 

This approach is designed for daily COVID-19 surveillance in high-density settings where a lot of people are together indoors for prolonged periods of time, such as hospitals, nursing homes, shelters, prisons, dialysis centers, halfway houses, etc. Our goal is to facilitate early detection of COVID-19 infections in high-risk populations. This approach provides a simple way to do that by integrating daily detection onto something that people are already wearing (masks). The notion is that a new day means a new strip; with this constant nature of surveillance, we can stop outbreaks early in high-density settings before they escalate. And rather than requiring you to swab your nose or throat, this strip collects particles that you breathe in and out throughout the day. 

How do the stickers work?

The stickers are designed to detect the presence of protein-cleaving molecules called proteases—not the virus itself—that are produced from infection with the SARS-CoV-2 virus.

The idea is that a sticker would be worn on your mask, in front of your mouth.

Throughout the day, airborne particles that you inhale and exhale will accumulate in the test strip.

When you’re ready to activate the strip, you would peel the sticker off and squeeze the blister pack.

The blister pack releases a reagent that changes color (for example, pink to purple as illustrated here) in the presence of the SARS-CoV-2 proteases. The top line of the strip is the control line, the bottom line is your test line. A color change in the reagent at the bottom line would indicate a potential exposure; this means you should get tested for COVID-19.

You would then dispose the used sticker and replace with a new one.

Can I use the stickers in place of getting a COVID-19 test?

The stickers are not a replacement for getting a COVID-19 test. They are not as sensitive as diagnostic COVID-19 tests run in a lab. The stickers are meant to be used as a surveillance tool for monitoring COVID-19 exposure, which can be done on a daily basis. Diagnostic testing, on the other hand, is done occasionally or less frequently. That’s the difference between testing and surveillance.

The analogy I like to use here is that this is like having a smoke detector in your home. It sits in the background at the ready and when it goes off, it does not tell you exactly where the fire is or what kind of fire it is, but that there is a problem and you need to take action. With these stickers, we’re similarly creating a warning device to tell you that you may have been exposed to SARS-CoV-2, and that’s when you would seek formal testing.

Why would we need these stickers if we already have COVID-19 tests?

While diagnostic viral testing is a critical tool, it does not scale readily for daily monitoring of asymptomatic or pre-symptomatic individuals. The value of surveillance for infectious disease is that it is ongoing. Just like how your smoke detector is in the background and at the ready, the stickers would be working on something you’re already wearing and can be used daily. This approach would supplement other monitoring efforts like wastewater monitoring, which is currently happening at UC San Diego. The stickers would add to our arsenal in the fight against COVID-19 and help us identify outbreaks early before they have a chance to spread.

Does a positive result mean I am infected with COVID-19?

Just like your neighbor’s house fire could cause your smoke alarm to go off, a positive result does not necessarily mean that you have COVID-19. It does mean potential exposure, so you should move beyond the surveillance phase and seek active testing. This could help identify asymptomatic and pre-symptomatic cases early, and thus prevent outbreaks in high density settings. 

How will the sticker detect what’s in my breath or saliva if it’s placed outside my mask?

Most masks have some airflow (otherwise you would suffocate). The sticker has vents both at the back—that allow air to flow through from your mask—and at the front to sample air from the environment.

If the sticker is meant to work outside the mask, does this mean that masks are not protecting us from COVID-19?

Masks definitely prevent the spread of COVID-19. All masks have some degree of permeability. N95 respirators, for example, reduce particle spread by 95%, so 5% of airborne particles can go through. This is the permeability we are exploiting to sample the air.

Will the sticker also detect SARS-CoV-2 particles in the air around me?

We do not know yet but hope so. The sticker will accumulate aerosols that you breathe in and out. The sticker will sample the air in your environment—not just the air that you are exhaling. Our goal is that this would serve as surveillance of the environment and not just the person wearing the sensor.

Can I wear the sticker inside my mask instead of outside?

Yes, either should work but we suspect that the exterior would be more comfortable. 

Would wearing this sticker be a violation of privacy? 

No. The sticker does not change color spontaneously as the user is wearing it. The color change would occur when the user activates the strip, which would be done in private.

How long would I need to wear the sticker before performing the test? 

We designed this for use in high density settings where individuals are at high risk, like nursing homes, shelters and prisons. The goal is that at the end of each 8-hour shift, residents, patients and staff would activate their test strips. We are doing studies to determine if shorter time periods can activate the color change. 

Can I still use my mask after activating the test strip? 

Absolutely. Just peel off the sticker when you are done. 

When will this be available to the public? 

The stickers are still in development. We currently have the reagents (in the blister pack) validated with recombinant proteases and are now evaluating them in a variety of more complicated samples. One of our next steps is to test the strips on COVID-19-positive saliva samples. We will work with UC San Diego School of Medicine Professors Louise Laurent and Rob Knight, who have access to a biobank of these samples. 

One big question is: How much of these proteases accumulate on our face coverings? And that depends on how long we wear them on our faces and how much we speak. Once we have these questions answered, we will begin testing in a cohort of known positive and known negative subjects. This should be in the second quarter of 2021. 

Then, we will move on to testing on patients and healthcare workers at VA San Diego Healthcare System, in collaboration with William Penny, a professor of clinical medicine at UC San Diego School of Medicine and a cardiologist at VA San Diego Healthcare System. 

Could this work as a saliva test? 

If these do not work out as mask stickers, we will repurpose the strips as dipstick tests using saliva as a sample. Here, the user would simply expectorate into a tube and add a test strip containing the color-changing reagents. While not as simple, this type of test could also be performed daily and still have value as a surveillance approach.

Wednesday, January 13, 2021

Undergraduate Bioinformatics Student Teams Up With CS Professor on Nature Paper

Bonnie Huang ’21 had the opportunity to work with computer science Professor Melissa Gymrek on a paper published Jan. 13 that find tandem repeats, which are also associated with Huntington’s disease, may contribute to Autism Spectrum Disorder 

Why did you choose bioinformatics as a major?

Entering college, I was interested in human health and all areas of STEM, from biology and chemistry to math and computer science. I decided to major in bioinformatics due to its interdisciplinary nature and figured it would be fascinating to be able to apply computer science to solve biological problems in a variety of fields.

Why did you attend UC San Diego?
One of the main factors that drew me to UC San Diego was the Jacobs Scholarship, which gave me the opportunity to pursue my interests and focus on academics and extracurricular activities (such as research and community service) without worrying about the financial burden of college. Another important factor was the top-notch bioengineering/bioinformatics faculty/curriculum as well as the abundant research opportunities available at UC San Diego.

How did you get in touch with Professor Gymrek and become an undergraduate researcher in her lab?

My sophomore year, I took a class with Professor Gymrek (CSE 185 – Advanced Bioinformatics Laboratory) and learned about her lab’s work on the development of computational tools to analyze repetitive DNA regions in the human genome. I found her research extremely interesting, especially since I’ve always wanted to learn more about human genetics and find a way to combine my interests in computer science and biology. We set up a meeting to discuss research opportunities, and I’ve been fortunate to be a part of her lab ever since.

What was it like to be part of her lab and become a coauthor on a paper published in Nature?

Being a part of the Gymrek Lab has been an amazing experience. Professor Gymrek is a fantastic and extremely supportive mentor, and I’ve truly enjoyed working with everyone in the lab. Over the past year, I’ve been developing a novel software tool called SISTR to score short tandem repeat mutations in the human genome based on how likely they are to cause disease. In one part of the paper, we use SISTR to analyze short tandem repeat mutations in individuals with autism and predict which mutations are most likely to be harmful. Overall, I’ve learned a lot from working on SISTR and applying the skills I’ve gained from my computer science, biology, and bioinformatics courses to contribute to medical research.

What are your plans for after graduation? 

I plan to go to medical school and pursue a career in academic medicine, where I would be able to combine my interests in research, teaching and patient care. In the future, my goal is to both treat patients and use my background in bioinformatics to help solve medical problems and improve patient care through the development of new diagnostic tools and personalized treatments.

What would your advice be to an incoming freshman who wants to do research?

One way to find a lab to join is to explore different research groups’ websites/papers and email professors whose research you find interesting. It can also be helpful to go to office hours to talk with professors about their research and ask them questions about your field of interest. Another way to gain experience is through summer research programs, so keep an eye out for applications to those as well.

Paper: Patterns of de novo tandem repeat mutations and their role in autism

Related story:

Study finds neglected mutations may play an important role in Autism Spectrum Disorder

Thursday, January 7, 2021

Triton Robosub: making progress in a pandemic

By Melissa Hernandez

The Triton Robosub team makes progress on their underwater 
autonomous vehicle design via Zoom.

Like so many student organizations in 2020, the Triton Robosub team at UC San Diego was forced to pivot from a hands-on, aquatic robotics competition to a fully online format where the team was judged on their technical designs, team video, and website. Fresh off their Blue Robotics Sponsor Award win for creatively integrating sponsored parts into their designs, the Triton Robosub team took the COVID-19-mandated distancing as an opportunity to find a way to work while following CDC guidelines, as well as improve their organization as a whole.

“That six-month remote period gave us a lot of time to critically think about our designs, really think about our software, and just overall improve a lot of aspects of the team,” said Patrick Paxson, Triton Robosub founder and computer science student. “As a group of officers, we had a clearer vision of what we wanted to work towards. This quarter we have made a lot of progress towards getting better at underwater engineering and improving a lot of aspects in terms of our robot’s hardware and software.”

Through the pandemic, Triton Robosub has been able to both continue progress on ongoing projects like FishSense, and collaborate with other engineering organizations on campus on new projects. FishSense is a handheld camera and data acquisition project done in collaboration with fellow student group Engineers for Exploration. Despite the circumstances, both organizations have been able to attend weekly meetings, maintain constant communication with each other, and will begin the device prototyping in winter quarter.

“[FishSense] is essentially a project where we develop a handheld recreational diver data acquisition system in order to measure fish length, biomass information, and species information for ocean ecosystem monitoring,” Paxson said. “We want to create a one-handed device that takes advantage of the commercially available Intel RealSense D455, a depth camera.”

With the FishSense project, both organizations contribute to the monitoring of ocean ecosystems and their maintenance. Their design testing has continued throughout fall quarter, and they plan to continue with prototyping FishSense through the winter.

Getting some pool tests in while masked.
Another project that Triton Robosub has been able to complete during this period is AI Tracks at Sea. This challenge, issued by the US Navy's Naval Information Warfare Center Pacific, was to track the longitude and latitude of boats from a provided dataset gathered from a single camera sitting at a dock that monitored boats passing by. The students had to create a computer vision algorithm capable of tracking the boats’  locations with the data provided by the Navy. 

“This was a fairly challenging project mainly because of the limitations in the hardware. Computer vision is hard to do, especially for accurately measuring things like longitude and latitude,” said Paxson. “The dataset was somewhat limited because it was hard to pick out the boat we were looking for from some of the background boats, so we had to train a custom algorithm to identify their particular boat. Another thing was that the lens was fisheye, so it was different from the human eye. The final thing is, estimating distances becomes infinitely easier when you have two cameras, similar to the way the human eye works. Unfortunately, their system is limited to one camera so we did our best. We submitted the final version on December 1st.”

The AI Tracks at Sea is a competition with monetary prizes. With a $200,000 total prize pool, Triton Robosub could place in the top seven teams and walk away with a cash prize. If they do earn a top-seven spot,  hey intend to use their earnings to fund their prototyping work for winter quarter.

Robosub has been able to stay connected to their members, sponsors and supporters through social media, but recently they also began to live stream their progress on Twitch. The team showcases the work they have been able to do, and keeps everyone updated through their live testing of the AUVs. Aside from updates, the business team has been able to set up workshops with representatives from local companies BrainCorp and Teledyne Marine to hold a resume workshop and discuss workplace expectations. The team would like to continue with these types of workshops, as well as use online platforms like Twitch and Zoom to incorporate other types of events.

“Details aren’t ironed out, but we want to have software workshops and also a high school outreach,” said Brian Chen, Triton Robosub’s social media and public relations manager. “Essentially we’re going to get members from each subteam to reach out to their old high schools’ robotics or computer science clubs to potentially work with us.”

Despite the setbacks that the pandemic has put on Triton Robosub, they have adapted to their new normal. Instead of taking the easy route of shelving projects indefinitely, the Robosub team has been hard at work with FishSense, they wrapped up work with AI Tracks @ Sea, and have plans to move forward with their original plans from past spring during spring 2021.

“We want to showcase the cool projects that we’re doing,” Chen said, “and showcase that the quarantine is not going to stop us from being productive.”

To stay connected with Triton Robosub, follow their Instagram, Facebook and website.