Open Source Software and Reproducible Research in Networked Systems Modeling 2024s [OSS 2024s]
(0/0/4) INF-D-940, Summer 2024
- ⏰ Time, Date, and Location: Tuesdays, 3. DS (11:10), APB 1072 (11 and 18 Jun 2024: APB 1096 instead)
- 🟢 Start: 1st week of teaching period
- 📦 Format: 🏛 physical meeting, 💬 chat
- 🧰 Prerequisites: see section “Prerequisites”
- 💬 Questions? Comments? Join the discussion in our Matrix Room #nsm-course-oss:tu-dresden.de (reachable from the TU Dresden Matrix server)
Contents
Long-running projects relying on software like thesis projects, projects that are worked on by multiple people in parallel or sequentially, or complex simulation research projects underpinning a scientific paper necessitate an approach that goes beyond mere documentation, no matter whether the documentation is a simple README file or the entire methods sections in a full scientific paper: approaches centered around reproducibility.
This course will teach participants how to make their projects reproducible, focusing on aspects including data management, dependency management, workflow management, and the open source development model.
Prerequisites
There are no prerequisites for joining. Topics range from very practical (e.g., container technologies) to purely theoretical (e.g., free and open source software).
Learning Outcome
After successful completion of this course, students will be able to quickly and easily set up reproducible research environments for themselves and team members; they will also be able to more easily contribute to and benefit from open source software projects, particularly in the area of networked systems modeling.
General Information / Methods
This will be a hands-on course with a focus on practical skills. Participants are invited to bring their own topic of interest or can choose from sample topics, then study and apply a selection of technologies in the chosen area to a small example project.
This course will be held in English (German, if universally preferred) and all the course material is available in English. Course material will be distributed/collected via OPAL.
Questions? Comments? Join the discussion in our Matrix Room #nsm-course-oss:tu-dresden.de (reachable from the TU Dresden Matrix server) or add a post to our OPAL forum!
Grading
Grades will be based on a 15-minute presentation (held within the semester’s teaching period) and a project report (due at the end of the semester’s teaching period).
If you want to get a grade, please pre-register this exam with us in the first two weeks of lecture. This is in addition to the regular exam registration you will need to do later in the semester. See the organizational slide deck for details.
Instructors
Timeline
For timeline information, see both the section “In a nutshell” above and the slide deck “Organization” below. In the first week, we will be discussing topic assignments.
Web Meeting Links
All classes are held on campus. If we must move to fully-virtual classes, this will be announced via OPAL. Until then, no web meetings are taking place.
In case of technical difficulties, please check the Matrix room.
Sample Topics
Sample topics include ones from the areas of…
- “free and open source software” (licenses, copyright, DCO, CLAs, …),
- “container technologies” (Docker/Podman, Singularity/Apptainer, …),
- “dependency management” (Nix/Meson/Bazel, Conan/Cargo/npm, Conda/Poetry, …),
- “workflow management” (GNU Make, Snakemake, Nextflow, …), and
- “data management” (provenance, metadata, stable identifiers, …).
Participant Limit
Because of the hands-on nature of this course, the number of participants is tightly limited. Please use OPAL to reserve a spot or a place on the waiting list, but please also be aware that we will have to give preference to students who need this course for their studies.
Slides
- 00-org.pdf - Organization
- more: see OPAL