Thursday, February 18, 2021

Undergraduates share the joy of engineering with elementary school class

 By Melissa Hernandez

Students learned how to create a
 “musical keyboard” with an Arduino microcontroller

Electrical engineering students at UC San Diego didn’t let the changing demands of a virtual fall quarter stop them from sharing their love of engineering with the next generation. Students in the Electrical and Computer Engineering 198 Directed Study course, organized by the Eta Kappa Nu(HKN) engineering honor society, partnered with a local elementary school to develop a curriculum highlighting engineering and electronics through the engaging topic of music, and taught the course virtually to a 5th grade class.

“I am glad that we were able to introduce this to them. The students that were enthusiastic and inspired by this were the brightest part of my week,” said Joel Bisarra, an electrical engineering student who spearheaded the outreach effort. “I am ultimately very happy that I started this program and that I was able to go out and teach students the wonders of my major. It may not have been as extensive as I wanted it to be, but it was still a great experience nonetheless.”

The ECE 198 course was originally designed for students to develop a curriculum and teach pre-college level coursework to high school students. Due to the COVID-19 pandemic, the team was forced to rework their curriculum into entirely virtual lessons, which proved difficult for high school teachers to incorporate into their lesson plans. The ECE 198 team was able to connect with Chollas Mead Elementary School 5th-grade teacher Thomas Courtney, who was interested in including a coding curriculum in his class, and making it work virtually.

Joel Bisarra

The UC San Diego students worked with Courtney to develop lesson plans and activities for the 5th grade level, and then held four mock lessons to test their material with about eight of the 5th-grade students. With the kinks worked out, the team then taught eight full lessons with Courtney’s whole 5th grease class.

“The reality is that our students, most of them, really benefited from this program,” Courtney said. “Many of these students will not see a program like this in their K-12 experience, so this is just everything. It’s not just about the content but also about the appreciation and the exposure to it.”

A "volume meter"
With lesson plans that incorporated online programs like Audacity, TinkerCAD, and MIT App Inventor, the ECE 198 team was able to get the fifth graders actively participating and engaging with electronic concepts including voltage, current, and Ohm’s Law, all in the context of music. Their curriculum was based off lesson plans drafted by HKN members, led by Bisarra.

“I based the program on the intersection between music and electronics. We taught the students how to make a keyboard, spectrogram, or guitar pedal with electronics.” Bisarra said. “Music is a good reference point because of the analogies with audio and electrical signals.”

The fall quarter ECE 198 outreach effort was a success, but the students aren’t stopping there. HKN plans to continue supporting the course in future quarters, and is expanding a similar class in the departments of Computer Science and Engineering, and Mechanical and Aerospace Engineering. All three classes are planning to virtually teach their courses in the spring quarter.

Wednesday, February 17, 2021

New Chip Pushes the Power Efficiencies of Data-Converters

Data-converters bridge the physical analog world to the digital domain and are widespread in all electronic components around us—cell phones, cameras, displays, touch screens, wireless transceivers, health sensors, etc. But a longstanding limitation of data-converters is the presence electronic noise—it is one of the primary factors that causes data in the digital world to lose its original pristine quality. One way to lower noise is to burn more power, but that constrains the lifetime of portable devices. 

Chip micrograph

Researchers at the University of California San Diego led by electrical and computer engineering Prof. Drew Hall have developed a clever circuit technique termed 'OTA-stacking' to fundamentally improve the noise-power trade-off in analog to digital converters (ADCs). Their technique is based on the concept of current-reuse where N-fold stacking enables N times lower power for the same noise, which is very substantial. 

Somok Mondal

Their prototype chip achieves state-of-the-art performance in the hypercompetitive data-converter space and is being presented by UC San Diego electrical and computer engineering alumnus (Ph.D. '20) Somok Mondal on Feb. 17 at the International Solid-State Circuits Conference (ISSCC), 2021—the foremost global forum for presentation of advances in solid-state circuits and systems-on-a-chip.

Paper Title: 139μW 104.8dB-DR 24kHz-BW CTΔΣM with Chopped AC-Coupled OTA-Stacking and FIR DACs 
Authors: Somok Mondal, Omid Ghadami, and Drew A. Hall

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.