← Back to home

My Research Group

On this page, you can learn more about what research we do, what students I look for, and what working with me would be like.

If you have other specific questions about working in my group, please feel free to reach out. I cannot respond to non-specific inquiries.

What is my group’s research?

Quantum computers promise incredible speedups for tasks such as simulation and optimization. As we make progress toward more scalable and reliable quantum computers, my group is studying how to productively program and use them:

Tower shows how to realize algorithms that need data structures and pointers on a quantum computer. The quantum control machine shows how to implement control flow in algorithms. Cobble shows how to realize matrix arithmetic in quantum linear algebra.

Here, students could investigate how to perform better memory management or exploit approximation in a quantum program.

Spire makes algorithms run more efficiently under error correction needed by imperfect hardware. Cobble and Qualtran help scientists estimate how big a device is needed for tasks such as simulation.

Here, students could work with computer architects or physicists at UW–Madison to conduct more precise resource estimates on new error-correcting codes.

Tower simplifies the requirements of many quantum algorithms down to ideas from classical computer science. Cobble enables implementing quantum algorithms in a few lines of high-level code rather than millions of bit-level logic gates.

Here, students could explore how declarative, functional, or logic programming could help capture the nature of quantum information.

To tackle these questions, my group builds a software stack: languages, compilers, type systems, libraries, runtime environments, program analyses, formal verification tools, and more. Like in the classical world, these tools enable us to formalize how a program runs on a new computational model. And as technology matures, they can transition us to demos on new hardware and principles shipped in real products.

In the longer term, we also try to make progress on a broader question: what is the nature of quantum computer science? By the 1940s, scientists understood what concepts such as registers, pointers, or arithmetic mean on classical digital computers running discrete algorithms. Today, as the nature of information becomes less discrete and more hidden within a neural network or entangled inside a quantum circuit, we have the chance to explore these questions once again.

What do I look for in a student?

I seek students who are mathematically mature, open-minded, and eager to learn.

Specific technical skills that could signal future success in the group include strong intuition for linear algebra, experience in compiler and performance engineering, and willingness to dive into PL, physics, chemistry, and math papers.

Prior experience in quantum computing research is not required. That said, now is a great time to build foundations in quantum algorithms and in programming languages.

Interpersonal skills that are essential include proactive communication, eagerness to solicit and give constructive feedback, and willingness to collaborate with researchers across disciplines. Industry collaboration, e.g. an internship, is possible and encouraged.

What is being in my group like?

My aim as an advisor is to support students as they develop the skills, judgment, and confidence to pursue meaningful research of their own. Because each student is different, I will ask you about your preferences (hands-on or hands-off?) and goals (academia or industry?) so that we can build an advising plan together.

A new student will start with a project to catch you up in quantum computing or in programming languages, depending on need. Here is an example of a student-led project.

Expect weekly meetings with me to discuss research progress and relevant reading, courses, and opportunities. Expect to attend and give talks in the department, at workshops and conferences, and at companies and labs. Expect to regularly submit to top-tier venues such as PLDI and POPL.

Finally, expect to be present in our new computer science building in Madison, where you will interact with other faculty in programming languages and quantum computing and work with group members and other students from many backgrounds.

↑ Back to top