Specialization within Master Progam Digital Sciences at TH Köln
Instruction Language : German and English.
The field of study teaches software engineering oriented towards large and complex systems, which understands IT as a socio-technical system and pays particular attention to people and their ways of thinking and acting when creating software systems. It reflects the growing importance of software for innovative digital products and services in our society by enabling graduates to design and implement complex software systems in the context of social, technological and economic conditions.
Software is becoming increasingly important in our society for the development of innovative products and services. It is necessary to design systems that are not only robust, easy to maintain and modify, but also optimally embedded in their context of use.
The field of study Software Architecture offers a modern education that meets this growing importance of software – with simultaneous increase in complexity and growing quality requirements. Graduates learn to design complex software systems and to implement them in a division of labor. The focus is on understanding software and specialist domains in the context of human contexts of meaning and action, as well as interdisciplinary methods for system design, taking into account social, technological and economic conditions.
Before technical system solutions can be designed and implemented, the functional requirements and needs of the users must be recorded in a structured manner. The future system and its conditions of use must be recorded so that an architecture can be created as the basis for an overall solution strategy. Graduates of SAR are therefore in a position to optimize a complex overall IT landscape with regard to the orientation of a technical domain.
Graduate profiles and exemplary courses of study
In the field of software development, students are taught competencies for modeling and abstracting the domain-oriented aspects of application systems. In doing so, they decompose problems into subproblems, which are solved in dedicated software components through an implementation. This domain exploration is followed by the design of software architectures, which are complemented by the selection of the appropriate architectural style and by the design and implementation of consistent, robust and performant APIs and design and implementation of user interfaces adapted to the needs of the users.
In doing so, a modern model of a „culture of coding“ is conveyed, which ties every form of architectural decision to mastering the corresponding styles, patterns and technologies „hands-on“ and being able to implement them agilely in the team. This includes all relevant phases of the software lifecycle, from writing sustainably maintainable code to testing and hosting using modern technologies (cloud) and the greatest possible automation (DevOps).