Below you will find a brief overview of the courses offered by the professorship of software development for bachelor and master programmes, divided into winter and summer semesters.
Detailed information on the individual courses can be found in AlmaWeb and in the module regulations. The materials for the courses are made available via their respective Moodle courses.

Bachelor

Winter term

The introduction to computer science includes, among other things, the representation of information in the computer and its processing, basics of hardware and software, first insights into algorithms and software development, data security and data backup, as well as central concepts of electronic networks and services based on them.

Responsible teacher: Prof. Dr. Ulrich Eisenecker

Selected, relevant and current views of software development and software development processes as well as methods, notations and techniques are presented in this course. An overview of analysis and design patterns and their application is also given.

Responsible teacher: Prof. Dr. Ulrich Eisenecker & Nico Willert

Selected aspects of computation, computability, hardware and binary representation of information are introduced to the extent that they are relevant to programming. Programming itself is introduced as one of many interrelated activities of software development. It includes editing, compiling, executing and testing programs, as well as debugging and fixing errors. Programming paradigms provide the conceptual framework for understanding problems and developing programs to solve them. The most basic paradigms, procedural and structured programming, programming with abstract data types and functional programming are introduced along with elementary, user-defined and structured data types in the C++ programming language. The various concepts are illustrated using simple example programs, including those that generate programs. Furthermore, it is shown how to split programs and how to create libraries. Selected libraries are used to implement programs. Exercises are provided for self-study. They make it possible to independently apply and deepen the material covered. 
Problems that arise in the application of the presented contents as well as in the execution of the exercises are discussed in the seminar.
The language of the teaching materials provided, i.e. slides, texts, exercises, is English. The language of teaching and examination is English.

Responsible teacher: Prof. Dr. Ulrich Eisenecker, Nico Willert, Janik Eriksson

 

Module accompanying text

The colloquium serves students to present and discuss their theses, especially in the areas of software visualisation, generative software development and e-assessment.

Responsible teacher: Prof. Dr. Ulrich Eisenecker, Nico Willert, Janik Eriksson

Summer term

Concurrent programming, theoretical basics of communication, transparency dimensions and important aspects in distributed systems as well as communication and application-oriented middleware. Furthermore, Java is introduced as a second programming language next to C/C++ and is topic-specifically deepened.

Responsible teacher: Pascal Kovacs

The different types of polymorphism are a crucial prerequisite for understanding many programming concepts of various contemporary programming languages. They are introduced as they occur in C++ and examined in detail in the form of object-oriented programming and generic programming. Further means of automating programming tasks are introduced in various example programs using further programming concepts, e.g. exceptions, further libraries, e.g. Standard Template Library, and graphical user interfaces as well as parallelism.
Exercises are offered for self-study. They enable the independent application and deepening of the material covered. 
In the seminar, problems that arise in the application of the presented contents as well as in the execution of the exercises are discussed.
The language of the teaching materials provided, i.e. slides, texts, exercises, is English. The language of teaching and examination is English.

 

Responsible teacher: Prof. Dr. Ulrich Eisenecker, Nico Willert, Janik Eriksson

 

Module accompanying text

Master

Summer term

Representatives from industry, administration and academia present various topics for software engineering projects that are relevant in a practical or research context. They provide necessary information about the application domain, inform about special requirements or constraints for the expected project outcome and outline the desired project goals.

Participants organize themselves into teams and work on a project as a team. Following the usual meetings in software development projects, you report regularly on the progress of the project as well as any problems that arise.

At the end, each team presents the project results it has achieved in the form of a prototype in the sense of a presentation addressed to the stakeholders of a software development project.

Teaching and examination language is English.

Responsible teachers: Prof. Eisenecker, Prof. Beuche, Phi Katharina Würz

Additional Information about the projects

The colloquium serves students to present and discuss their final theses, especially in the areas of software visualisation, generative software development and e-assessment.

Responsible teachers: Prof. Dr. Ulrich Eisenecker, Nico Willert

You may also like