Universität Wien
Achtung! Das Lehrangebot ist noch nicht vollständig und wird bis Semesterbeginn laufend ergänzt.

450102 SE Open Source Software Development for Astronomy (2026W)

Prüfungsimmanente Lehrveranstaltung
Mo 12.10. 11:30-13:00 Ort in u:find Details

An/Abmeldung

Hinweis: Ihr Anmeldezeitpunkt innerhalb der Frist hat keine Auswirkungen auf die Platzvergabe (kein "first come, first served").

Details

max. 15 Teilnehmer*innen
Sprache: Englisch

Lehrende

Termine (iCal) - nächster Termin ist mit N markiert

Sternwarte: Computer room

  • Montag 05.10. 11:30 - 13:00 Ort in u:find Details
  • Montag 19.10. 11:30 - 13:00 Ort in u:find Details
  • Montag 09.11. 11:30 - 13:00 Ort in u:find Details
  • Montag 16.11. 11:30 - 13:00 Ort in u:find Details
  • Montag 23.11. 11:30 - 13:00 Ort in u:find Details
  • Montag 30.11. 11:30 - 13:00 Ort in u:find Details
  • Montag 07.12. 11:30 - 13:00 Ort in u:find Details
  • Montag 14.12. 11:30 - 13:00 Ort in u:find Details
  • Montag 11.01. 11:30 - 13:00 Ort in u:find Details
  • Montag 18.01. 11:30 - 13:00 Ort in u:find Details
  • Montag 25.01. 11:30 - 13:00 Ort in u:find Details

Information

Ziele, Inhalte und Methode der Lehrveranstaltung

This practical seminar (inspired by the Code/Astro workshops, semaphorep.github.io/codeastro) enables students to develop and release an open-source software package for astronomical research. Working individually, participants take a small project from conception through to a public release, with the emphasis throughout on best software development practices rather than on producing any particular scientific result. The course is built around the principles of openness, inclusivity and reproducibility in research software.

Sessions combine short instructor demonstrations with hands-on development time. Core topics (and associated tools) include:

- Motivation: why and how research software becomes open source
- Version control and collaboration (git, GitHub)
- Environment and dependency management (uv)
- Testing (pytest)
- Code quality: linting, formatting, and type hints (ruff, Python typing)
- Documentation (sphinx)
- Continuous integration (GitHub Actions)
- Packaging: project structure and namespacing
- Publishing and citing a release
- Community building: contribution guidelines, codes of conduct, and welcoming new contributors

AI coding agents are demonstrated and their role in open-source workflows discussed, but their use is not required.

By the end of the course, students will be able to: use git and GitHub to version control and collaborate on a software project; manage Python environments and dependencies with modern tooling; write tests for a codebase; apply linting, formatting, and type hints to maintain code quality; write clear documentation; set up continuous integration; structure and package a piece of research software; and version, license, cite, and release it publicly. Students will also be able to critically evaluate the role of AI coding assistants in an open-source workflow, and will have practiced community-building skills such as writing contribution guidelines and welcoming new contributors.

Basic Python experience and familiarity with the command line are recommended. Roughly half the course uses Python-specific tooling; participants who prefer to work in another language may attend, but should expect to independently find and apply equivalent tools for those sessions throughout the semester.

Art der Leistungskontrolle und erlaubte Hilfsmittel

Continuous assessment based on a software package developed over the semester (60%) and a final presentation (40%).

Mindestanforderungen und Beurteilungsmaßstab

To receive a positive assessment, students must attend at least 50% of sessions and submit a working software package. The final grade is a weighted average of two components, each evaluated against a detailed checklist distributed during the course:

- Software package: 60%
- Final presentation: 40%

Prüfungsstoff

Assessment is based on continuous coursework rather than a written exam: the software package developed over the semester and its final presentation, evaluated against the criteria above (see Minimum requirements and assessment criteria).

Literatur

No required textbook. Reference material will be pointed to throughout the course, e.g.:
- The Turing Way (the-turing-way.netlify.app) — guide for reproducible, ethical, collaborative research
- Open Source Guide (opensource.guide) — GitHub's guide to building and maintaining a welcoming open-source community
- Journal of Open Source Software (joss.theoj.org) — submission guidelines
- Astropy Developer Documentation (docs.astropy.org/en/stable/development) — as a worked example of a mature astronomy OSS project

Zuordnung im Vorlesungsverzeichnis

VAF

Letzte Änderung: Di 29.09.2026 15:08