Showcase Highlights Undergraduate Student Summer Research Projects
Research experience is an integral part of advanced undergraduate education, especially for students planning to enter graduate school.
Over the summer, a cohort of 22 second- and third-year Northwestern Computer Science (CS) students conducted practical, immersive research in labs alongside graduate students and faculty members.
On September 28, 11 of the summer researchers presented their exemplary contributions to new knowledge during the Undergraduate Research Showcase.
Sara Owsley Sood, Chookaszian Family Teaching Professor of Instruction and associate chair for undergraduate education at the McCormick School of Engineering, co-organized the event with student affairs coordinator Bella Barrios.
“We are mainly motivated by an interest in students sharing their really cool research, but it’s often hard for second- and third-year computer science majors to imagine what research would be like and what they can do. We want them to see what other students are working on,” Sood said.
The students were supported by a generous donation from Robert and Barbara Feldmann and an anonymous donation from a Northwestern family. They also earned Northwestern Engineering McCormick Summer Research Awards and Summer Undergraduate Research Grants from Northwestern’s Office of Undergraduate Research.
Samir Khuller, Peter and Adrienne Barris Chair of Computer Science at Northwestern Engineering, provided the welcome remarks and discussed the impact of research.
“Remember that Google was, after all, a research project before it was a company. Research can lead to very, very exciting things,” Khuller said. “Computer science is a very rapidly evolving field, so it's very easy to get into exciting research.”
Elli Beres
Beres is a third-year student pursuing a combined bachelor’s and master’s degree in computer science and a member of Sam Kriegman’s Xenobot Lab, which draws inspiration from the evolution of animals for the automated design and fabrication of intelligent robots that can carry out useful work.
She presented “Evolving Growing Virtual Robots,” and discussed Project Maia, a platform for simulating rigid-body virtual robots with the ability to grow as they interact with their surroundings.
Over the summer, Beres developed evolutionary algorithms that model natural selection, providing novel functionality which enables the simulation of robots capable of evolving their own morphologies, behaviors, and growth progressions in a virtual environment. Through Project Maia, Xenobot Lab researchers are exploring how evolutionarily optimized growth impacts the ability of simulated robots to learn and perform various behaviors and represents a first step toward realizing the development of growing robots in the physical world.
Kriegman is an assistant professor of computer science, chemical and biological engineering, and mechanical engineering at Northwestern Engineering.
Cameron Churchwell
Churchwell, a fourth-year student in computer science and a member of the Interactive Audio Lab, collaborated with lab director Bryan Pardo and PhD candidate Max Morrison on the project “High-fidelity Neural Phonetic Posteriorgrams.”
A non-stationary categorical distribution over acoustic units of speech, phonetic posteriorgrams (PPG) are a popular representation in speech editing and generation due to their ability to disentangle pronunciation features from speaker identity.
“The problem is that a lot of the currently used PPGS are not actually distributions over phonetic units. They're black-box, learned representations,” Churchwell said. “We wanted to have a representation which is interpretable and editable so you could take a selection of speech and edit the pronunciation, which would be helpful for film, podcast, or video game speech editing.”
Through their work investigating the efficacy of PPG system design choices, Churchwell, Morrison, and Pardo improved the quality of PPG representations and demonstrated that higher-quality PPGs yield improved independent control over pitch and pronunciation while maintaining text-to-speech quality.
Pardo is a professor of computer science at Northwestern Engineering and professor of radio, television, and film at Northwestern’s School of Communication. He also codirects the Center for Human-Computer Interaction.
Akash Deo, Amy Liao, and Zexuan Zhou
Deo, Liao, and Zhou — all third-year undergraduate students in computer science at Northwestern’s Weinberg College of Arts and Sciences — investigated the effects of gradual typing on the ease of testing. Zhou is also pursuing a bachelor’s degree in mathematics from Weinberg.
A programming languages concept in which typed and untyped components within a single program are freely mixed, gradual typing allows the incremental addition of types into the code base.
Advised by assistant professor of computer science Christos Dimoulas, the team aimed to provide insights for how programmers can minimize the effort involved in rigorous testing while achieving a well-performing test suite. They conducted an empirical experiment employing mutation analysis to simulate how a developer with limited information makes decisions about where and how to add tests in various scenarios.
Kevin Hayes
Hayes is a second-year undergraduate student in computer science advised by Peter Dinda in the Prescience Lab. He presented “Making the Nautilus Kernel Architecture Agnostic.”
Addressing the need for research tools capable of testing the increasingly ubiquitous Internet-of-Things (IoT) devices — including smartwatches, smartphones, cameras, sensors, cars, and industrial machinery — Hayes spent the summer working to integrate Nautilus, a research operating system developed by a team of contributors at Northwestern, with an architecture for computer processors called ARM.
He successfully ported Nautilus to the RockPro64 System-on-a-Chip, which required significant redesigns to the kernel to handle the differences between three architectures — x86, RISC-V, and ARM64 — without splitting Nautilus into three distinct branches of the original kernel.
By designing an interface between the core kernel and the specific architecture, Hayes helped enable the expansion of numerous research projects based upon Nautilus to include ARM64. In addition, his work also provides a foundation for novel systems research using Nautilus, which can potentially be applied to all three architectures at once.
Dinda is a professor of computer science and (by courtesy) electrical and computer engineering at Northwestern Engineering.
Kyle Jung
Jung is a fourth-year undergraduate student earning a combined bachelor’s and master’s degree in computer science. He presented the independent research project “DPDNS: Differential Privacy in Domain Name System (DNS).”
While DNS queries and answers can be secured in transit through encrypted protocols and message signatures, individual user queries remain visible to public DNS resolvers.
“If our website traffic is released through a query breach, people can gather information about my interests and what I like to browse,” Jung said. “ISPs and DNS resolvers have all the information about our traffic because they communicate the IP addresses of the domains that we want to access. If the resolvers collude with other malicious servers and become adversaries, we don't have a way to protect ourselves from them.”
Jung aimed to address this lack of privacy through an approach called DPDNS that uses local differential privacy to generate a random set of noise queries from a large set of registered domain names for each session.
Nikola Maruszewski
Maruszewski is a second-year student earning a bachelor’s degree in computer science and a master’s degree in computer engineering from Northwestern Engineering. A member of Nikos Hardavellas’s Paragon Parallel Architecture Group, Maruszewski presented “A Compilation Framework for Chiplet-Based Quantum Computing Systems.”
Quantum computers promise exponential speedups over classical computers, but several orders of magnitude more quantum bits (qubits) are necessary to perform practical computation — such as applications in machine learning, scheduling, quantum chemistry, drug development, and physical simulation. Adding more qubits onto increasingly larger individual quantum chips is not a viable solution due to issues with crosstalk noise and control hardware overhead.
Maruszewski worked on a distributed architecture approach based on manufacturing several small “chiplets” connected through microwave links to form a chiplet-based quantum computer. Further, to enable programmers to focus on algorithms versus needing to determine where each qubit goes in a complex quantum architecture, Maruszewski helped to develop a compiler that maps qubits to the distributed quantum system with less overhead and noise-related errors than current naïve mapping approaches.
Hardavellas is an associate professor of computer science and of electrical and computer engineering at Northwestern Engineering.
Sophia Pi
Pi is a second-year student pursuing a bachelor’s degree in computer science at Northwestern Engineering as well as a joint major in economics and mathematical methods in the social sciences through Weinberg. She presented “Community Detection with Label Propagation: Characterizing Behavior Across Different Stochastic Block Model Regimes,” a project she worked on this summer with adviser Miklos Racz and PhD student Shuwen Chai.
A fundamental problem in machine learning, community detection allows researchers to understand how nodes within a network cluster together, which can help illuminate the network's structure and unveil valuable insights for applications including social network analysis, recommendation systems, finance, epidemiology, and protein biology.
Pi explored the behavior of the label propagation algorithm (LPA) — which identifies communities in a graph by propagating labels through a network — on different regimes of the stochastic block model (SBM).
“The LPA and SBM are both fairly popular, but there is surprisingly little literature on the behavior of LPA on SBM,” Pi said. “This is the gap that my project aimed to bridge this summer.”
The two main components of her methodology included theoretical analysis and computational simulations. She implemented several different variant models and ran hundreds of thousands of trials measuring different metrics. She examined how the algorithm used to propagate labels and the underlying structure of the network impacted how different labels spread through the network over time, whether an entire network would converge to the same label, and if clusters of nodes would converge to different labels relative to the rest of the network.
Racz is an assistant professor of computer science at Northwestern Engineering and an assistant professor of statistics at Weinberg.
Sean Rhee
Rhee is a third-year student in computer science advised by Dinda and Michael Wilkins, a computer engineering PhD student. Rhee presented “Profiling Multi-GPU Clusters to Optimize Communication Algorithms.”
Parallel workloads use multi-device and often multi-node computer clusters to improve performance. As application scale increases, for instance large language models and other massive-scale artificial intelligence workloads, the communication between devices bottlenecks computation processes. This problem is exacerbated by the networks themselves, which are often composed of complex, multi-layer topologies of varying performance.
Rhee explored the impact of network topology on communication between graphics processing units. The team determined that careful communication algorithm design resulted in upwards of a 30 percent improvement in throughput. The outcomes of this work will be applied to a planned future project in the Prescience Lab related to communication algorithm autotuning.
Marko Veljanovski
Veljanovski is a third-year student pursuing a double major in computer science and mathematics. He conducted research this summer in causal inference in natural language processing (NLP) and presented “DoubleBERT: Causal Estimation with Large Language Models.”
Veljanovski is interested in developing more sophisticated causal estimation models — ones in particular utilizing large language models and recent developments in the field of NLP such as adapters and sentence transformers.
The unbiased estimation of causal effects is significantly hampered by confounding, in which a variable affects both the treatment and outcome, complicating efforts to determine clear causal connections and conclusions. Textual confounders make the task more challenging due to their complexity and high dimensionality, resulting in current causal estimators in the field to represent text in a very simplified manner.
Addressing these limitations, Veljanovski developed DoubleBERT, a causal estimator utilizing double machine learning estimation and the bidirectional encoder representations from transformers (BERT) language model. On a novel text RCT dataset, Veljanovski was able to achieve the lowest estimation error compared to other estimators in the literature.
Veljanovski was advised by Zach Wood-Doughty, assistant professor of instruction in Northwestern Engineering.