Principles of Software Engineering
Contents
Principles of Software Engineering#
Note
The slides of this workshop are available here.
A major reason for the instability of software is that it is subject to continuous change. This is especially true for software in the scientific context, since the scientific discourse is open-ended. Change has caused difficulties for scientific software developers from the very beginning and it continuous to do so. In parallel, the software engineering community has discovered numerous methods and techniques that we as research software developers can take advantage of to significantly support our work. This workshop tries to bridge the gap between both worlds and shows practices, methods and principles to develop maintainable software and to make the software development process sustainable. If you have not heard of the SOLID principles this workshop is for you.
Prerequisites#
Basic knowledge of Python
Basic knowledge of the OOP (advantageous)
Agenda#
Motivation for sustainable software design
Basic concepts for organizing complexity
Refresher: Object Orientation
Design principles: SOLID & Co. with application example
Targeted Audience#
All scientists from TU Braunschweig and their research partners involved or interested in the development of research software.