Registration for this course is open until Tuesday, 03.02.2026 23:59.

News

Minitest Inspection

Written on 06.11.25 by Yannick Lehmen

Dear students, 

the inspection of the first minitest will take place this Friday (07.11.2025) in SR206 E1.1 from 1pm to 2pm. To attend the exam inspection you need to bring your student ID. 

Best, 

the SE-Team

 

Results of First Minitest

Written on 04.11.25 by Sebastian Böhm

Dear students,

we just released the results of the first minitest. You can find the results on your personal status page.
A sample solution for the minitest will be discussed in the tutorials.

Best,
the SE-team

Information for the First Minitest

Written on 02.11.25 by Sebastian Böhm

Dear Students,

on Monday, 03.11., the first minitest takes place at 8:30 in the lecture halls HS 0.01 and HS 0.02 in building E1.3.
Please be in front of the lecture halls a couple minutes early so that we can start in time.
Remember to bring a pen and your student ID.
Also, note that no… Read more

Dear Students,

on Monday, 03.11., the first minitest takes place at 8:30 in the lecture halls HS 0.01 and HS 0.02 in building E1.3.
Please be in front of the lecture halls a couple minutes early so that we can start in time.
Remember to bring a pen and your student ID.
Also, note that no additional aides are allowed!

Best,
the SE-team

Survey Regarding Minitest Attendance

Written on 28.10.25 by Yannick Lehmen

Dear students, 

for organizational reasons we want to know how many of you intend to participate in the first minitest. For this purpose we created a survey, which you can find on your personal status page under the heading Registrations. Please note that this is not a mandatory registration, it… Read more

Dear students, 

for organizational reasons we want to know how many of you intend to participate in the first minitest. For this purpose we created a survey, which you can find on your personal status page under the heading Registrations. Please note that this is not a mandatory registration, it only serves to give us a rough estimate of the attendance number we have to plan for. You can participate in the minitest regardless of if you answer or not. 

Best, 

the SE-Team

Written on 21.10.25 by Yannick Lehmen

Dear students, 

because we recieved multiple questions on the topic, we wanted to clarify that this course can be taken by students of both the Bachelor's and Master's programs in Computer Science. To the best of our knowledge the same applies to most other study programs offered by the Department… Read more

Dear students, 

because we recieved multiple questions on the topic, we wanted to clarify that this course can be taken by students of both the Bachelor's and Master's programs in Computer Science. To the best of our knowledge the same applies to most other study programs offered by the Department of Computer Science, with the exceptions of the Data Science and Artificial Intelligence Bachelor's program and the Visual Computing Master's program (if your Bachelor is computer science related). If you are unsure wether you can take this course as part of your study program please contact the examination office. 

Best, 

the SE-team

Reminder: First Lecture Tomorrow

Written on 20.10.25 by Sebastian Böhm

Dear students, 

this is a reminder that the first lecture takes place tomorrow, October 21st, at 12:15 in lecture hall 0.02 (E1.3).
In this lecture, we will also go over all organizational matters regarding this course, like the format of the mini-tests, the tutorials, and the exams. 

See you… Read more

Dear students, 

this is a reminder that the first lecture takes place tomorrow, October 21st, at 12:15 in lecture hall 0.02 (E1.3).
In this lecture, we will also go over all organizational matters regarding this course, like the format of the mini-tests, the tutorials, and the exams. 

See you all tomorrow,
the SE-team

Start of Lectures

Written on 10.10.25 by Yannick Lehmen

Dear students, 

we will start with the lectures in the second lecture week on Tuesday. That means the first lecture is on October 21st at 12:15 in lecture hall 0.02 (E1.3).
Tutorials will start the week after. More information regarding that will be presented in the first lecture. 

Best,
the SE-team

Show all

Software Engineering Wintersemester 2025/26

 

About the Lecture

The lecture Software Engineering covers a broad range of topics in software engineering with a special focus on software variability, configuration, generation, and optimization. It builds on basic programming and software engineering concepts, as taught in the lectures Programming 1 & 2 and the SE Lab (Softwarepraktikum). Topics that are covered include:

  • Domain analysis, feature modelling
  • Automated reasoning about software configuration using SAT solvers
  • Runtime parameters, design patterns, frameworks
  • Version control, build systems, preprocessors, parametric polymorphism, traits / mixins
  • Expression problem, preplanning problem, code scattering & tangling, tyranny of the dominant decomposition, inheritance vs. delegation vs. trait / mixin composition
  • Feature interaction problem (structural, control- & data-flow, behavioral, non-functional feature interactions)
  • Variability-aware analysis and variational program representation (with applications to type checking and static program analysis)
  • Sampling (random, coverage)
  • Machine learning for software performance prediction and optimization

 

Lecture Format

The lecture will be held in presence in the HS002 lecture hall in building E1 3. For the tutorials, we are currently planning a hybrid format (in person + online). More information will be announced closer to the start of the semester. All relevant dates will be in the course's timetable.

 

Registration

To get access to exercise sheets and other course material you need to register via this CMS course.

 

Prerequisites

  • Knowledge of programming concepts (as taught in the lectures Programming 1 and Programming 2)

  • Basic knowledge of software processes, design, and testing (as taught and applied in the lecture SE Lab/Softwarepraktikum)

 

Assignments / Exam

Beside the lecture and weekly practical exercises, there will be a number of mini-tests for each student to work on. The mini-tests will be assessed based on the principles covered in the lecture. Passing the mini-tests is a prerequisite for taking the final written exam. The written exam will be graded. Further examination details will be announced by the lecturer at the beginning of the course.

In short:

  • Passing the mini-tests (prerequisite for the written exam)

  • Passing the written exam

 

Literature

  • Feature-Oriented Software Product Lines: Concepts and Implementation. S. Apel, et al., Springer, 2013.

  • Generative Programming: Methods, Tools, and Applications: Methods, Techniques and Applications. K. Czarnecki, et al., Addison-Wesley, 2000.

  • Mastering Software Variability with FeatureIDE. J. Meinicke, et al., Springer, 2017.

  • Types and Programming Languages. Benjamin C. Pierce, The MIT Press, 2002.

  • Programmierung - eine Einführung in die Informatik mit Standard ML. Gert Smolka, Oldenbourg Verlag, 2011.

Literature available here: https://www.infomath-bib.de/tmp/vorlesungen/info-core_software-engineering.html

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.