Cover Story

Computer Science Students Spend Two Weeks Working in National Laboratory

Julia Fennell ’21

Kalie Chang ’26 and Grace Mun ’25 at the Lawrence Livermore National Laboratory Discovery Lab during their Scientific Simulation in Situ Block 4 class in December 2023. Photo by Mira Giles-Pufahl ’25. 

Many Computer Science majors at colleges and universities across the world study computational science, but few college students have the opportunity to work hands-on inside a national laboratory as part of their course work. At CC, our students do. Students in the Block 4 Scientific Simulation in Situ course spent two weeks at the Lawrence Livermore National Laboratory, creating career-making connections and working alongside real-life scientists.

Students in the class with Dr. Danielle Ellsworth, Assistant Professor of Mathematics and Computer Science, worked on a simulation code using the techniques, tools, and motivating questions that are used on large scale simulation codes, such as climate models and quantum chemistry simulations. They also learned about venture capital and met with Acrew Capital, the venture capital that supported the class.

After spending the first week on campus becoming acquainted with the code they would be working on and the supercomputing environment, the class traveled to Livermore, California, to begin their adventure at the Lawrence Livermore National Laboratory (LLNL), which conducts research in physical and life sciences, engineering, and computing in support of its missions of nuclear deterrence, and climate and energy security.

This class was an innovative way to teach problem solving and research skills to students that are applicable beyond the scope of computer science research,” says Kalie Chang ’26, a Computer Science and Economics major. “The problems and questions we asked were unique and haven’t been solved before, so unlike typical computer science courses, where some of the problems we faced have been solved in the past, we had to work to understand the problem, what may be causing it, and experiment with different code to try and fix it.”

“The opportunity to work at the lab gave me real world experience that I wouldn’t have gotten normally at another college.”

Kalie Chang ’26

Students in the class were at the lab from 9 a.m. to 5 p.m. during the second and third week of the block. During the mornings, students attended presentations from guest lecturers on a variety of topics, including technical and coding skills and professional development. Students also got to tour different facilities and sites on the LLNL campus, including the National Ignition Facility and Additive Manufacturing Lab.

“The opportunity to work at the lab gave me real world experience that I wouldn’t have gotten normally at another college,” says Chang. “The Block Plan was key to making this possible because most schools that run by a semester system can’t provide students with the experience of working a 9-5 research job or the experience of making progress within a short time frame like CC can.”

“Even though we were only at the lab for two weeks, we had complete immersion into what computing at the lab would be like,” says Stuart Sessions ’25, a Computer Science major. “This full, complete day taken up by work is what I have been hoping to get from CC’s unique class structure, and this has been the first class to actually accomplish that. I feel like I really understand and have lived the life of a computing employee at a national lab.”

When students weren’t attending programs, they worked on the simulation code called Nanopond, which was developed in the 1990s.

“Nanopond is a simulation of an 800×600 pixel pond that generates random genomes that interact with one another,” Chang says. “Each pixel of the pond represents a cell and each cell is able to hold a genome that contains some sort of behavior. My group specifically experimented with customization of a pond’s cells so users can write custom genomes to experiment with the viability of a genome.”

On the first day at the lab, students were split into groups based on what they were interested in working on with the simulation.

“Some people were working on optimization, there was a group working with the graphical representation of the program, and one group tackled the problem of making the program run on a GPU,” says Mira Giles-Pufahl ’25. “My group started out working on making the program more ‘user friendly’ by implementing functionality that allowed the user to change variables such as the pond size (the X and Y variables), how long the program should run for, and mutation rate of the cells when running the program from the command line. This allowed the previously hard coded variables to be altered without changing the code prior to each run. It was really great getting to work on something that everyone had interest in as people were all able to share their ideas in order to see what would or wouldn’t work.”

“At the end of the course, I don’t think there was a student that fully answered the question they had in mind, but Danielle said that this was part of the research process in the real world, that sometimes people will say that the answer could be perfect if they just had more time, but the client wants the code to be done by a hard deadline,” says Chang. “In the real world, people may even work with the same code for years! As students, we only had two weeks to work with this code, but all of us felt that we learned a lot through this experience.”

Many of Ellsworth’s courses involve unsolved problems, which she views as a vital part of learning in the computer science field.  

“Especially in computer science, it is easy to get so focused on the details of a technology or technique or algorithm that any sense of practical application becomes lost,” Ellsworth says. “In all my classes, I try to expose students to connections between why and what is being done and the level of human rather than technical objectives. We should be able to imagine why someone wants the particular program or system the question is asking for and how they might use that program or system.”

“Before our time at the lab actually began, we spent about three days with an obfuscated piece of the code,” says Giles-Pufahl, a Computer Science major. “There were no helpful variable names, no function names, and no comments detailing what the code was actually doing. Dr. Ellsworth encouraged us to really pick apart this code and try to work out what it actually meant so that we would feel more prepared going into working with the full thing at the lab.”

One of Giles-Pufahl’s goals after college is to pursue a position that will allow her to be creative and not be limited by being told exactly how she has to code a program. Before the course, she spoke with another professor about this, who suggested that she look into national labs as a future possibility.

“During the time we spent at the lab, I really benefited from being able to hear the experiences of researchers there, how they ended up working at the lab, and what they enjoyed about it,” Giles-Pufahl says.

Chang notes that her experience in the lab gave her a better understanding of what it is like to do computer science research as a profession. Students practiced skills and learned concepts that computer scientists use on a regular basis.

“This class was inherently innovative due to the fact that we were doing research. The projects that we were working on hadn’t been done before, and didn’t have solutions. This challenged us to create new answers and think critically about how we were attacking our problems.”

Stuart Sessions ’25

“A lot of what we did mirrored the internship program at LLNL and average day of a computer science researcher that works there, so we were able to grow from both a professional and technical standpoint,” Chang says.

“This class was inherently innovative due to the fact that we were doing research,” Sessions says. “The projects that we were working on hadn’t been done before, and didn’t have solutions. This challenged us to create new answers and think critically about how we were attacking our problems. However, we had experienced mentors in Dr. Ellsworth and our on-site mentor Dr. Rountree, and together they helped us work through tough problems that we ran into.”

“Most computer science classes in general focus on how to create the software, and not what it might be used for, or the capabilities of software projects,” says Willa Polman ’25, a Computer Science major and Asian Studies minor. “I think this class served as an example of what a research internship is like, and gave me an opportunity and the confidence to apply to LLNL and other internships this summer.”

“To me, it is clear Dr. Ellsworth believes in empowering students to engage in the content in whatever way is most interesting them,” says Walt Jones ’25, a Computer Science major. “In this case, the class was setup in a way similar to an internship experience. We were allowed a lot of freedom when deciding which research questions to ask and what methods to use. I feel like I learned a lot about what federally funded institutional research looks like, how to get involved, and what pathways to follow.”

Jones learned many technical skills as well, including how to work on large and complex super computers. “We also had a meeting with one of the major funders of the class, a venture capital firm based in the Bay Area, and that was very informative as well,” he says.

At the end of the block, students presented their research to the class in a research poster session.

Ellsworth became connected with LLNL after interning with Rountree from 2014 through 2016, while she was in graduate school. “If I didn’t love teaching so much, I would like to be at LLNL,” Ellsworth says. “I love the people there and the lab works on the most technically challenging and interesting problems in the world.”

Ellsworth thinks of her research interests in terms how to help computers work together better. Her core technical research work involves power management in high-performance computing (HPC). HPC systems are room sized systems, composed of 1000s of individual, computers and used for climate modeling, AI model training, and other large computational problems. The power requirements of an individual HPC system are similar to that of a small city. Ellsworth is trying to improve how the computers coordinate their work to more efficiently use the power available and interact more safely with the power grid.

LLNL’s Workforce Development, CC’s Advancement Office, Acrew Capital, and the Mathematics and Computer Science Department provided significant support towards the course.

Discover more from The Peak

Subscribe now to keep reading and get access to the full archive.

Continue reading