

Creighton University computer science students will gain paid, hands-on experience developing software for real-world needs through a new $399,454 National Science Foundation grant.

A collaborative faculty initiative, the three-year project will fund undergraduate students to build, maintain and improve software through paid internships. Catherine Baker, PhD, associate professor of computer science, serves as principal investigator on the grant, with faculty members sharing leadership across different aspects of the project. Students will work with faculty, other developers and community partners while gaining experience with parts of the software development process that can be difficult to replicate through traditional coursework.
The project, “Sustainable Open-Source Software through Service Learning: Iteration and Longevity in Undergraduate Computing Projects Across Semesters,” builds on Creighton for Good, an initiative previously supported through internal funding.
The NSF-funded project will explore how coursework, paid student internships and service learning can work together to create software that continues to serve community needs over time.
“It’s not just building it and being done,” Baker said. “We build it, and then we continue maintaining it.”
Software developed for a class may work when students initially hand it off, but that does not mean the work is finished. Software may require updates, fixes or changes as the needs of its users evolve.
Kevin Lumbard, PhD, assistant professor of computer science and a co-principal investigator on the grant, said the team has seen what can happen when community partners receive student-developed software without a way to maintain it. A project may work initially, but a year or two later, the organization can encounter a problem without knowing how to fix it or who to contact.
The new project is designed to explore a different model. Instead of beginning from scratch each semester, students can inherit existing projects. That means learning to understand someone else’s code, documentation and design decisions before deciding what comes next.
“That process of inheriting a real software project is itself an important part of the educational experience,” Lumbard said.
Students will encounter parts of software development that classroom assignments do not always address, including unfamiliar code, incomplete documentation, changing requirements, real users, testing, deployment and maintenance. They will also work collaboratively, including on interdisciplinary teams.

The three-year grant includes funding for 12 undergraduate students, with a team of four students working across two semesters and the summer each year.
The students serve as paid interns and help provide continuity between courses and semesters. Baker said the internships allow students to take projects developed through coursework to the next stage.
Those student teams are not simply assigned a list of programming tasks. Lumbard said they make decisions about the projects, work with other developers and community partners and take responsibility for software that must continue functioning after an individual student or class has moved on.
They may also inherit some of the less polished realities of software development, including unresolved issues and technical debt. Eventually, each team must prepare the project for the students who will come after them.
Service learning is central to the model the faculty team is developing. Rather than creating software for a hypothetical customer, students work on projects intended to address needs identified by community organizations.
“Community needs provide the reason for building the software,” Lumbard said.
One example is an app being developed to address leftover food from campus events. The proposed app would notify students, faculty and staff when food is available for a limited time after an event, helping reduce food waste while providing another way for students experiencing food insecurity to access a meal. The project is still being developed and will require campus approval before launching.
The app also shows how students can contribute to the same project in different ways. It began as three separate capstone projects before being passed to the student intern team. Students in a human-centered computing course have since contributed additional work, while the interns help bring those pieces together and continue developing the app.
Another application for the Furniture Project is currently being developed as a capstone project, with plans to transition it to the student team in the spring for continued development and support.
Baker is joined on the project by co-principal investigators Kevin Lumbard, PhD, assistant professor of computer science; Sherri Weitl-Harms, PhD, associate professor of computer science; Steven Fernandes, PhD, associate professor of computer science; and Waseq Rahman, PhD, assistant professor of journalism. Their areas of expertise contribute different components to the project, including service learning, open-source software and sustainability, software engineering, artificial intelligence and user adoption.
The project is part of the National Science Foundation’s Improving Undergraduate STEM Education program. Over the course of the grant, the researchers will examine how long-term, community-engaged projects can expose students to aspects of software development that may be difficult to incorporate meaningfully into a single course.
The team also hopes to identify practices that other computer science programs could adapt, including approaches to course integration, team structure, documentation, project handoffs, project selection and community partnerships.
For students, that model creates opportunities to put what they learn in the classroom into practice while navigating the realities of software development: collaborating with others, responding to changing requirements, working with real users and making decisions that affect a project and the people it serves.