Experiences in Teaching Prospective Research Software Engineers at the University of Chicago

In comparison to traditional software engineers, research software engineers (RSEs) often come to software engineering from scientific domains and may lack formal training. As the field continues to develop, direct educational pathways and formal training are likely to expand. Questions about best practices for training students and early career RSEs must be answered to ensure new RSEs are able to contribute high quality code. How should we train students with minimal experience to work on real-world projects? How do we bridge the gap between classroom learning and the expectations of writing reproducible code? What assumptions can be made about what students can (and should) learn themselves, and what do they need to be explicitly taught? The University of Chicago’s Data Science Institute has been able to wrestle with these questions over the past three years by engaging with students via its experiential, project-based, Data Science Clinic course. The Data Science Clinic is a useful setting for asking these questions and testing related hypotheses. The clinic works with 3 cohorts of students each year and typically has more than 50 students per cohort. This provides a great environment for iterating on best practices. Preparing students who are interested in research software engineering careers is similar to training early-career RSEs who are coming from backgrounds with limited computer science education. Students in the clinic come from diverse backgrounds, with both master’s and undergraduate students well-represented, but most have one university computer science course. This level of formal computer science background is similar to many RSEs coming from non-computer science backgrounds. Additionally, code reproducibility and code quality are often lower priorities on both student projects and RSE projects. The Data Science Clinic has led to the important conclusion that relying on assumptions about student background knowledge leads to negative outcomes. When using experiential learning or project-based classes, it's easy to have a biased view of student understanding since only the most confident and engaged students are likely to volunteer to participate. These advanced students can shoulder most of the load of a project and make quite a bit of progress, while allowing the students who would gain the most from direct instruction to coast undetected. In reality, many students lack robust mental models of computer operation, familiarity with essential terms and concepts, and an appreciation for software engineering best practices. Overcoming these challenges requires significant investment from experienced mentors. The purpose of this talk is to share these lessons and conclusions, discuss why these problems are so difficult, and to consider next steps.

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2024-10-25
DOI
https://doi.org/10.5281/zenodo.13992486
Primary Topic
Scientific Computing and Data Management
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Experiences in Teaching Prospective Research Software Engineers at the University of Chicago

Zenodo (CERN European Organization for Nuclear Research)
Scientific Computing and Data Management
article

Experiences in Teaching Prospective Research Software Engineers at the University of Chicago

article en

Abstract

In comparison to traditional software engineers, research software engineers (RSEs) often come to software engineering from scientific domains and may lack formal training. As the field continues to develop, direct educational pathways and formal training are likely to expand. Questions about best practices for training students and early career RSEs must be answered to ensure new RSEs are able to contribute high quality code. How should we train students with minimal experience to work on real-world projects? How do we bridge the gap between classroom learning and the expectations of writing reproducible code? What assumptions can be made about what students can (and should) learn themselves, and what do they need to be explicitly taught? The University of Chicago’s Data Science Institute has been able to wrestle with these questions over the past three years by engaging with students via its experiential, project-based, Data Science Clinic course. The Data Science Clinic is a useful setting for asking these questions and testing related hypotheses. The clinic works with 3 cohorts of students each year and typically has more than 50 students per cohort. This provides a great environment for iterating on best practices. Preparing students who are interested in research software engineering careers is similar to training early-career RSEs who are coming from backgrounds with limited computer science education. Students in the clinic come from diverse backgrounds, with both master’s and undergraduate students well-represented, but most have one university computer science course. This level of formal computer science background is similar to many RSEs coming from non-computer science backgrounds. Additionally, code reproducibility and code quality are often lower priorities on both student projects and RSE projects. The Data Science Clinic has led to the important conclusion that relying on assumptions about student background knowledge leads to negative outcomes. When using experiential learning or project-based classes, it's easy to have a biased view of student understanding since only the most confident and engaged students are likely to volunteer to participate. These advanced students can shoulder most of the load of a project and make quite a bit of progress, while allowing the students who would gain the most from direct instruction to coast undetected. In reality, many students lack robust mental models of computer operation, familiarity with essential terms and concepts, and an appreciation for software engineering best practices. Overcoming these challenges requires significant investment from experienced mentors. The purpose of this talk is to share these lessons and conclusions, discuss why these problems are so difficult, and to consider next steps.

Zenodo (CERN European Organization for Nuclear Research)
University of Chicago (US)
Quality Education
Openalex Percentile: Top 33%
Scientific Computing and Data Management
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.