Goodridge’s Legacy Helps Liberate Faculty, Enable Students
by Doug Hulette
When he graduated with a master’s degree in 2019, Lance Goodridge ’17 *19 left behind a contribution that has gained both importance and relevance as student interest in computer science has continued to burgeon at Princeton and virtual teaching has replaced (at least for now) the traditional classroom.Working with faculty advisor Jérémie Lumbroso, Goodridge developed web applications that enable the department to hire and manage more than 250 undergraduate course assistants who play a key role in fostering learning, especially among students in popular introductory courses.
“Our undergraduate lab teaching assistants and graders are key to providing hands-on support and feedback to our students,” said Chair Jennifer Rexford, who has set a goal of “boutique education at scale” for the department. “Hiring these undergraduate assistants, assigning them to courses, and matching them in real time with students they can help is a scaling challenge in its own right.”
One application, TigerUHR, eases the hiring and managing of course assistants — tasks that had drained valuable time from instructors committed to “boutique” teaching. The other, called LabQueue, brings order to the flood of requests that inundate the department’s help lab, ensuring that the more than 700 students in the department’s four introductory courses can quickly get the guidance they need to figure out the complexities of computer science.
As an undergraduate computer science major at Princeton, Goodridge said, he realized that surging enrollments had sharply increased the administrative demands on faculty as well as their teaching workload. In fall 2015, he was among the first generation of undergraduate student graders for COS 126 [Computer Science — An Interdisciplinary Approach], which already had become one of the University’s most popular courses.
“When I applied to be a COS 126 grader in 2015, applications and hiring were still managed via Google apps,” Goodridge recalled. “Grader positions for COS 217 [Introduction to Programming Systems] and 226 [Algorithms and Data Structures] were handled similarly.”
“With the size of the intro courses increasing as fast as they were — growing over 60% between 2010 and 2015 — and other courses beginning to introduce undergraduate graders or assistants, we clearly needed a system for performing fair hiring decisions that scaled better than looking at a Google spreadsheet.”
The result was TigerUHR (the UHR stands for Undergraduate Human Resources), which “addresses this by presenting applicant data in a format that permits easy comparisons and decisions, and scales to any number of positions or applicants,” Goodridge said. The department started using the software in fall 2017 as part of a program managed by faculty member Maia Ginsburg.
The top image is an early draft by Lance Goodridge of the TigerUHR administrator interface. The bottom image is a recent screen shot of the course administor view.
Images courtesy of Jérémie Lumbroso.
The software has been updated since then to expand its capabilities. For example, Lumbroso said Goodridge and he had worked together to develop a payroll view to help keep track of the status of students who had been hired, with regard to whether they had completed required paperwork and which had or had not been added to payroll. That improvement launched in the fall of 2018.
Goodridge said his work on LabQueue was influenced by his own experience as a teaching assistant, both as an undergrad and during his master’s studies. “I’ve gone to, and held, several office hours where the list of names runs off the whiteboard and isn’t properly maintained as students get helped or leave,” he said. “Plus, whiteboard queues are erased once shifts are over, which means we can’t learn anything regarding patterns of lab usage, or whether certain students or TAs are struggling.
“LabQueue organizes requests so TAs have a better idea of which student request to handle next, and so students have an idea of how long they have to wait. In addition, the data is saved, so we can analyze and improve from it later.”
Examples of some of the data gathered by LabQueue. On the left is a word cloud highlighting the most commonly used terms in one week. On the right is the average wait time in minutes.
Image courtesy of Jérémie Lumbroso.
Lumbroso said the first version of LabQueue was developed in 2013 by a student, Alex Daifotis ‘13, who graduated the following year. Although the software solved many problems, he said, it only recorded when a student submitted a help request and it was accepted by a lab TA. Because there was no record of when the TA had helped the student and resolved the issue, it provided little indication about the amount of time TAs were spending.
“I reached out to Lance, who had just finished his work with me on TigerUHR,” said Lumbroso, who advised Goodridge during his last two undergraduate years as well as during his master’s work. “His updated version was integrated into TigerUHR so that when students are hired, their job status is communicated automatically to LabQueue, which knows to give them TA privileges. This may sound like a small thing, but it’s part of the ethos that things should be integrated so that humans don't have to make these manual transfers.”Although after graduation Goodridge joined pymetrics, a workforce-management company in New York, he has continued to help the department expand the capabilities of the software and enable it to meet the demands of virtual instruction imposed by COVID-19. “We added Zoom support to LabQueue last spring, so the Intro CS Lab could continue via remote interactions,” he said. “And we added support for multiple queues in the fall, so courses outside of the Intro CS Lab can easily support remote office hours.”
Lumbroso, who joined the department in 2014, said his work with Goodridge reflects the core idea behind his main research focus: “scaling, usually somehow involving human processes and in particular in the context of our education mission.” He said the goal is to improve the educational experience for both teachers and students by using software to streamline and automate the tedious elements of faculty work while creating greater opportunities for interaction between the two.
Grading of programming assignments and problem sets, for example, can be monotonous work for professors and graduate students, Lumbroso said. “But to students just starting work toward their bachelor’s degrees, it can be challenging and instructive.” Together with colleague Dan Leyzberg, Lumbroso implemented the department’s initial move to have undergraduate students play a major role with grading. “By identifying what can be automated and streamlined with software and then building workable solutions with talented students, we can free up the faculty to be more in touch with the students and deliver them more value,” Lumbroso added. In so doing, Lumbroso and Leyzberg expanded and systematized the practice of using undergraduate students that had been trialed a few years before by Ginsburg.
Lumbroso, Ginsburg, and Leyzberg all are members of the teaching faculty, which plays an important role in the department’s introductory courses, including supporting how undergraduate students contribute to the courses.
Goodridge described his own experience as a teaching assistant as an “incredibly rewarding” aspect of the education process. He said the interaction “reinforces essential communication skills and pushes you to understand the material far more than an exam does. Furthermore, having taken the courses myself just a couple years prior, I had an intimate understanding of the problem areas in the assignments, and could give more directed advice in office hours, or offer revisions to the assignment spec beforehand.
“Undergraduate course assistants are a great way to obtain direct feedback from students who took the course, and ensure the materials continue to be improved over time.”
Goodridge received the Excellence in Teaching award from the School of Engineering and Applied Science in 2019 for his work in COS 318, Operating Systems. And he received a Graduate Student Teaching Assistant Award from the department at graduation.