CS Senior Spotlight: Liam O’Carroll

Liam O’CarrollNorthwestern Engineering’s Liam O’Carroll graduates this month with a double major in computer science and mathematics, and plans to start a PhD program in the fall.

Winner of a Northwestern CS Outstanding Senior award “for contributions to research in theoretical computer science,” O’Carroll is broadly interested in theoretical computer science, particularly continuous optimization and machine learning theory.

O’Carroll collaborated on a joint project with PhD student Vaidehi Srinivas and adviser Aravindan Vijayaraghavan, associate professor of computer science and (by courtesy) industrial engineering and management sciences at the McCormick School of Engineering, which centers around the memory-optimality trade-off in semidefinite programs, a powerful and important class of mathematical optimization models widely applicable in control systems, signal processing, machine learning, computational biology, and statistics. The work was presented at the 36th Conference on Neural Information Processing Systems in fall 2022.

We asked him about his experiences at Northwestern Engineering, impactful collaborative experiences, and his advice for current students.

Why did you decide to pursue the CS major at McCormick?

In my last two years of high school, I became very interested in computer programming. Going into college, I thought I wanted to become a software engineer, hence the CS major. However, software engineering is not the path I ultimately ended up following.

How did the McCormick curriculum help build a balanced, whole-brain ecosystem around your studies in CS?

I particularly enjoyed the courses I took for my “theme” requirement, including some logic courses in the philosophy department and a history course. I was always pleasantly surprised by how much I enjoyed and learned from these courses given they are not STEM-focused, and I think it speaks to Northwestern’s uniform strength across all of its departments. My presentation skills and ability to work effectively in a team were also strengthened by courses such as public speaking and Design Thinking and Communication (DTC).

What are some examples of collaborative or interdisciplinary experiences at Northwestern that were impactful to your education and research?

I’m very interested in the intersection of computer science and mathematics, so a lot of the research I did while at Northwestern was interdisciplinary in nature. Also, many of the courses I’ve taken included students coming from a wide range of different backgrounds (mathematics, computer science, economics, other areas of engineering, etc.) and it is always fun and illustrative to see the different motivations and perspectives that are brought into class as a result.

What skills or knowledge did you learn in the undergraduate program that you think will stay with you for a lifetime?

Since I want to pursue a career in research, I’ve definitely picked up research skills which will stay with me forever. Most of this is thanks to how open professors in the computer science department are to helping undergraduates do research under their guidance. My presentation and teamwork skills have also improved significantly due to working on a research project in a team for over a year as well as presenting both my and other people’s research in computer science reading groups and undergraduate research showcases at Northwestern.

What's next? What are your short- and long-term plans/goals in terms of your graduate studies and/or career path?

I’m very fortunate and excited to be starting a PhD in computer science at Stanford University next year, with a focus on theoretical computer science. In the long term, my goal is to become a professor at a major research university.

What advice do you have for current Northwestern CS students?

If it sounds at all interesting to you, try doing research! Getting to do research and meet so many amazing and smart people in my research area as a result has really made my Northwestern experience wonderful.

It is never too early to get involved — in fact, the earlier the better — and there is a very high chance that someone is doing research in exactly the area you are interested in. For example, I didn’t even know “theoretical computer science” was a thing before I came to Northwestern, but I quickly fell in love with it since it combines my interests in math and computer science.

Don’t be afraid to reach out to professors even if you don’t feel “ready” (no one is) or know exactly what you want to do and try to make use of Northwestern’s many awesome resources for undergraduate research, such as the Office of Undergraduate Research.

McCormick News Article