Skip to content

Freie Universität Bozen

Software as a Research Contribution (seminar)

Semester 1 · 71077 · Doktoratsstudium in Informatik · 3KP · EN


The goal of this module is to present how the software produced as part of their research projects can also be a relevant research contribution. Students will acquire skills and competencies related to how to share and structure their code in a way that it could be reused in the future in other studies. The students are exposed to techniques for development an open-source community around the software, to improve the software maintainability, to identify possible hot-spots to make the software extensible, and to use good practices for software documentation. These topics will be complemented with discussions of the importance of these properties for reproducibility. Finally, it will also present the format used in conference tracks and Journals focused on software tools, explaining how the students can publish this kind of result.

Lehrende: Andrea Alexander Janes, Eduardo Martins Guerra

Vorlesungsstunden: 30
Laboratoriumsstunden: 0
Anwesenheitpflicht: Compulsory

Themen der Lehrveranstaltung
- Open-source software - Concepts of software maintainability - Clean code - Refactoring and automated testing - Software documentation practices - Software role in studies reproducibility - How to report Software as a research contribution in tracks dedicated to software tools

Unterrichtsform
Frontal lectures, exercises; team and/or individual projects.

Bildungsziele
Knowledge and understanding • To have a thorough knowledge of the fundamental techniques for software maintainability • To have a thorough knowledge of how to prepare your software to be reused in future studies. Applying knowledge and understanding • Be able to apply principles of Clean Code to improve the internal software quality. • Be able to apply refactoring and automated testing as a mean to keep the code maintainable. Making judgments • Be able to make design decisions to modularize parts of the software that might be replaced in future studies. • Be able to choose the best approach to document the software developer as part of a research study. Communication skills • Present and share the software in as open-source project that can attract contributors. • Present the software in publications to tracks dedicated to software tools Learning skills • Have developed learning skills to extract information of existing projects targeting their reuse.

Art der Prüfung
The assessment is based on assignments done by students related to the content of the course.

Bewertungskriterien
The student’s grade is calculated based on the average grade from the course assignments.

Pflichtliteratur

The course will be based on lecture notes.



Weitere Informationen
- Fogel, K. (2005). Producing open source software: How to run a successful free software project. " O'Reilly Media, Inc.". - Martin, R. C. (2009). Clean code: a handbook of agile software craftsmanship. Pearson Education. - Santos, J., & Correia, F. (2022). Patterns for Documenting Open Source Frameworks. arXiv preprint arXiv:2203.13871. - Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (2002). Refactoring: improving the design of existing code. 1999. - Open educational resources, representing alternative or supplementary materials, shall be linked to the course website.


Als PDF herunterladen

Ziele für nachhaltige Entwicklung
Diese Lehrtätigkeit trägt zur Erreichung der folgenden Ziele für nachhaltige Entwicklung bei.

4

Infoanfrage