News
Course evaluationWritten on 14.01.25 by Sebastian Böhm Dear Students, we just received the links for the course evaluation. Please take your time to fill out the evaluation forms. It really helps us to improve the course in the next years. There are two links, one for the lecture and one for the tutorials. The evaluation is open until… Read more Dear Students, we just received the links for the course evaluation. Please take your time to fill out the evaluation forms. It really helps us to improve the course in the next years. There are two links, one for the lecture and one for the tutorials. The evaluation is open until 26.01.2025. Lecture evaluation: https://qualis.uni-saarland.de/eva/?l=153647&p=v32ap8 Best, |
Assignment 4 Clarifications & Updated Example TestsWritten on 14.01.25 by Lukas Abelt Dear Students, We have uploaded an updated version of the fourth Assignment sheet and the project skeleton. Specifically, we clarified the termination criteria for the CART construction and fixed a minor oversight in the example test for task 3c. Please ensure that you refer to the latest… Read more Dear Students, We have uploaded an updated version of the fourth Assignment sheet and the project skeleton. Specifically, we clarified the termination criteria for the CART construction and fixed a minor oversight in the example test for task 3c. Please ensure that you refer to the latest version of the assignment sheet and example tests when working on your solution. Best, |
Assignment 4 ReleasedWritten on 13.01.25 by Lukas Abelt Dear Students, We have released the fourth and final assignment sheet. You can find it in the "Materials" section in the CMS. Keep in mind that you will still have to achieve at least 20% of the points in this Assignment, even if you have already scored a total more than 50 points in the… Read more Dear Students, We have released the fourth and final assignment sheet. You can find it in the "Materials" section in the CMS. Keep in mind that you will still have to achieve at least 20% of the points in this Assignment, even if you have already scored a total more than 50 points in the first three Assignments. We also provide you with a project skeleton you have to use for this Assignment. The assignment sheet contains all further information on how and when to hand in your submission. Note that the use of generative AI tools is not allowed for solving the assignment! Any further questions regarding the assignment can be asked in the forum or the tutorials.
|
Assignment 3 ResultsWritten on 10.01.25 by Lukas Abelt Dear students, we have just published the results for the third Assignment. You can see your results on your personal status page. Best, |
Reminder: Assignment 3 Submission TodayWritten on 06.01.25 by Sebastian Böhm Dear students, this is a reminder that today is the submission deadline for the third assignment. Dear students, this is a reminder that today is the submission deadline for the third assignment. Note that for this assignment, we will not accept any late submissions, even if you have accidentally submitted an incorrect ZIP archive. Best regards, |
No more lecturesWritten on 16.12.24 by Lukas Abelt Dear Students, As announced in last weeks lecture on Tuesday we are finished with all lecture topics for this semester. Therefore, we will have no more lectures on the usual Monday/Tuesday slots anymore. Sorry to all students who were unaware of this and went to attend the lecture this… Read more Dear Students, As announced in last weeks lecture on Tuesday we are finished with all lecture topics for this semester. Therefore, we will have no more lectures on the usual Monday/Tuesday slots anymore. Sorry to all students who were unaware of this and went to attend the lecture this morning. The last regular tutorials will be held this week to discuss Exercise Sheet 09. We may offer an additional Q&A session or tutorial close to the final exam. More info on that will be announced at a later point. For questions regarding the current and upcoming Assignment, please refer to the forum. Best, the SE Team |
Assignment 3 ReleasedWritten on 09.12.24 by Sebastian Böhm Dear Students, We have released the third assignment sheet. You can find it in the "Materials" section in the CMS. We also provide you with a project skeleton you have to use for submission. The assignment sheet contains all further information on how and when to hand in your submission. Dear Students, We have released the third assignment sheet. You can find it in the "Materials" section in the CMS. We also provide you with a project skeleton you have to use for submission. The assignment sheet contains all further information on how and when to hand in your submission. Note that the use of generative AI tools is not allowed for solving the assignment! Any further questions regarding the assignment can be asked in the forum or the tutorials.
|
Assignment 2 ResultsWritten on 05.12.24 by Sebastian Böhm Dear students, we have just published the results for the second Assignment. You can see your results on your personal status page. Best, |
No Tutorials this week (2024-12-05 & 2024-12-06)Written on 04.12.24 by Lukas Abelt Dear Students, Due to sickness we unfortunately have to cancel both tutorial sessions for this week. For questions regarding the current excercise sheet, feel free to discuss it in the forum. Sorry for the inconvenience. Best, The SE Team |
No lecture next Monday (2024-12-02)Written on 26.11.24 by Sebastian Böhm Dear students, there will be no lecture next Monday (2024-12-02). Best, |
Tutorials 21.11 & 22.11. room change; No online tutorials this weekWritten on 18.11.24 by Sebastian Böhm Dear Students, the tutorials this week (21.11 & 22.11) will take place in SR106 in E1 1 (one floor below the usual room).
Unfortunately, this means that online attendance is not possible this week since that room does not have the required setup.
|
Assignment 2 ReleasedWritten on 18.11.24 (last change on 18.11.24) by Sebastian Böhm Dear Students, We have released the second assignment sheet. You can find it in the "Materials" section in the CMS. We also provide you with a project skeleton you have to use for submission. The assignment sheet contains all further information on how and when to hand in your submission. Dear Students, We have released the second assignment sheet. You can find it in the "Materials" section in the CMS. We also provide you with a project skeleton you have to use for submission. The assignment sheet contains all further information on how and when to hand in your submission. Note that the use of generative AI tools is not allowed for solving the assignment! Any further questions regarding the assignment can be asked in the forum or the tutorials.
|
Assignment 1 ResultsWritten on 15.11.24 by Sebastian Böhm Dear students, we have just published the results for the first Assignment. You can see your results on your personal status page. Best, |
Assignment 1 ClarificationsWritten on 29.10.24 by Lukas Abelt Dear Students, We have uploaded an updated version of the first Assignment, which contains some minor fixes and clarifications. Mainly, it fixes some laptop models having a wrong indicated amount of RAM, as well as some clarifications in the description of Task 1. Please make sure that you… Read more Dear Students, We have uploaded an updated version of the first Assignment, which contains some minor fixes and clarifications. Mainly, it fixes some laptop models having a wrong indicated amount of RAM, as well as some clarifications in the description of Task 1. Please make sure that you are refering to the latest version of the Assignment Sheet when working on your solution. Sorry for any inconveniences. Best, the SE Team |
Assignment 1 ReleasedWritten on 28.10.24 by Lukas Abelt Dear Students, We have just released the first assignment sheet. You can find it in the "Materials" section in the CMS. We also provide you with a LaTeX template you have to use for submission. The assignment sheet contains all further information on how and when to hand in your… Read more Dear Students, We have just released the first assignment sheet. You can find it in the "Materials" section in the CMS. We also provide you with a LaTeX template you have to use for submission. The assignment sheet contains all further information on how and when to hand in your submission. Any further questions regarding the assignment can be asked in the forum or the tutorials.
|
Welcome to SEWritten on 11.10.24 by Sebastian Böhm Dear students, welcome to the Software Engineering course. The first lecture will take place next Tuesday (2024-10-15) at 12:15 in the Günter-Hotz lecture hall (GHH). Note that the lectures will… Read more Dear students, welcome to the Software Engineering course. The first lecture will take place next Tuesday (2024-10-15) at 12:15 in the Günter-Hotz lecture hall (GHH). Note that the lectures will take place in-person only; there is no possibility for online participation or lecture recordings. Any remaining questions can also be asked in our forum. Best, |
Software Engineering Wintersemester 2024/25
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 GHH lecture hall. 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 assignments in the form of mini-projects for each student to work on (every two to three weeks). The assignments will be assessed based on the principles covered in the lecture. Passing all assignments 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 assignments (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.