Computer Science Student-Led Course has Helped Prepare Undergraduates for Internships and Industry
In 2020, a group of three undergraduate computer science students at the University of California, Davis, realized an opportunity to help fellow students gain early exposure to tools and workflows expected in upper-division courses and commonly used in internships, research labs and collaborative engineering environments.
The entrepreneurial trio — now alum Grant Gilson, Stephen Ott and Noah Rose Ledesma — decided to create a course under ECS 98F, a course number designated for student-led courses. To bring the idea to life, they enlisted the help of then-recent alum Aakash Prabhu and Joël Porquet-Lupine, an associate professor of teaching in computer science at UC Davis. Together, they developed the course materials, drawing inspiration from a student-created class at the Massachusetts Institute of Technology that went viral in early 2019.
“When they approached me with the idea, I was probably a little reluctant at first,” said Porquet-Lupine. “Then I actually thought about it — that’s a great idea, and I’d like to be a part of it.”
The course launched in the winter quarter of 2021 and, over the next five years, enrolled hundreds of students. Offered asynchronously and fully online, ECS 98F proved distinctive in being taught by students themselves. The most recent team of instructors — John Cheung, Valerie Doan, Palina Karzhenka and Qiyuan Tan — held office hours, graded assignments and mentored students through the material.
The course comprised 10 modules covering four practical areas central to modern software development: Linux and the command-line interface; testing and debugging; scripting; and version control. These topics, which remain ubiquitous even as AI is changing the software development process, appear throughout the computer science curriculum. ECS 98F focused on helping students develop early hands-on familiarity with the tools and workflows they would encounter in collaborative engineering settings.
“We went over Git, which is a form of version control to track your changes to your software,” said Doan, who began instructing the course in the spring quarter of her first year. “I have used it heavily in my internship experiences.”
Student instructors said they not only benefited from the curriculum when they took the class, but that teaching it allowed them to help other students gain the same confidence and preparation.
“It was very meaningful,” Tan said. “It also strengthened my own knowledge of these topics.”
Doan reflected on the value of instructors who had recently taken the course themselves.
“We had taken the class before, so being able to share that perspective with students was really useful and effective because there was empathy,” she said. “We had been in the same shoes.”
Porquet-Lupine was very hands-on in the early stages, helping students develop the materials that continued to be used throughout the life of the course. Over time, he took on a more supportive role while student instructors led the class.
Looking back, he said the course reflected the initiative and collaborative spirit of UC Davis students.
“The students who became instructors were so passionate,” he said. “It was a fun experience.”