scieee AI-readable full text Open interactive document viewer

Teaching "Introduction to RSE" at TU Dresden - Experiences and Lessons Learned from the first three iterations

Juckeland, Guido

Full text

Teaching “Introduction to RSE” at TU Dresden Experiences and Lessons Learned from the first three iterations Computational Science Department | Fredo Erxleben, Guido Juckeland, Katja Linnemann | [email protected] [email protected] [email protected] via: home // slides // layout Change text level in the menu via: History of the Course HZDR wanted to use Guido’s history from TU Dresden as a chance to have a second affiliation to the computer science department First talks to deanship in 2021 Idea to use RSE as a topic as it provides no conflicts in the faculty and also has strong support of SE char (Prof. Aßmann) Provide a course via “Lehrauftrag” to also get students’ feedback First iteration of course in WS 2023/24 2 SWS course (alternating lecture and exercise weekly) Positive student feedback, but works better for students in summer semester Second iteration then in SS 2024 Third iteration in SS 2025 Added lab to make it a 1/1/2 course to get students to actually do things Guido since summer 2025 honorary professor at TU Dresden with 2 SWS teaching obligation 2 via: home // slides // layout Change text level in the menu via: Course Setup - Lectures & Exercises Taking research software lifecycle as story arch Structure: Intro + Shell scripting Working in Teams Licensing Testing / CI/CD Build Systems Software Publications Case Studies Used tools: OPAL (course organization, downloads, message board) HedgeDoc (live pad during the lectures/exercises, linked together) 3 via: home // slides // layout Change text level in the menu via: Course Setup - Lab Taking inspiration from Anna-Lena Lamprecht @ Uni Potsdam’s course lab Structure: Individual project (weeks 1-7) Group project (week 8-15) Last week of course ➡ Code Fest where all groups can present their work Used tools: OPAL (course organization, downloads, message board, project upload) For group projects GitLab (Helmholtz Codebase due to CI/CD resources) 4 via: home // slides // layout Change text level in the menu via: Course Setup - Lab - Individual Projects Providing a Jupyter Notebook with instructions and “enter your code here”-cells Structure: 1. Pick a data set 2. Pick a framework to work with 3. Load data 4. Clean data 5. Explore data 6. Visualize 7. Bonus: show a highlight in the data Observations: Students demonstrated data science not RSE skills Students often only worked in cells and did not do the documentation tasks 5 via: home // slides // layout Change text level in the menu via: Course Setup - Lab - Group Projects Groups of three students Take one individual project and extend it into a standalone python app Structure: 1. Project kickoff 2. Basic setup and details 3. Bring in the Python 4. Implement and add CI/CD 5. Publish your code 6. Bonus: present at code fest Observations: Students again focused on the output not the process Some troubles with reproducibility Some students actually failed 6 via: home // slides // layout Change text level in the menu via: Summary & Outlook Lecture/Exercise pretty stable now Lab was a first iteration - we learned A LOT Also offering repeat to failed students this winter semester Guido is immensely grateful for Katja’s and Fredo’s hard work on setting up the lab and running the exercises 7 Thank you!