News
Reminder: Tidy up Your RoomsWritten on 23.09.26 by Tobias Dick Dear participants, As the group phase comes to an end, please make sure to return your rooms in the same condition you found them. Before you leave, please: - Clear your workspace and take all personal belongings with you Dear participants, As the group phase comes to an end, please make sure to return your rooms in the same condition you found them. Before you leave, please: - Clear your workspace and take all personal belongings with you Best, |
||||||||||||||||||||||
Schema Files UpdatedWritten on 16.09.26 by Tobias Dick Dear participants, we updated the schema files on the main branch of your repository to fix some inconsistencies with the specification that were brought up on the forum. Please make sure to use these schema files going forward. The full list of changes is as follows:
Dear participants, we updated the schema files on the main branch of your repository to fix some inconsistencies with the specification that were brought up on the forum. Please make sure to use these schema files going forward. The full list of changes is as follows:
We don't expect these changes to affect your tests, but we've run an additional test pass with the updated schema files against the reference implementation so you can verify this on your side right away. The results have been pushed to the results branch in your repository. Best regards,
|
||||||||||||||||||||||
Office HoursWritten on 16.09.26 by Tobias Dick Dear participants, Starting next Monday, we will hold office hours each day. The time and place for these office hours is as follows:
Dear participants, Starting next Monday, we will hold office hours each day. The time and place for these office hours is as follows:
To ensure fairness and availability for all groups, please send only 1-2 representatives from your group to a single office hour. Each group should attend only once per office hour. Best, the SE-Lab team |
||||||||||||||||||||||
Mandatory Tests & Mutants ReleasedWritten on 15.09.26 by Tobias Dick Dear participants, From now on, we run the set of mandatory tests on your implementation, as well as your tests on our reference implementation (using the function registerSystemTestsForReferenceImplementation in the SystemTestRegistration.kt file). You can find the test results in the results… Read more Dear participants, From now on, we run the set of mandatory tests on your implementation, as well as your tests on our reference implementation (using the function registerSystemTestsForReferenceImplementation in the SystemTestRegistration.kt file). You can find the test results in the results branch of your group's repository. Please note that we only test changes that you have pushed to your main branch. There are a total of 100 mandatory tests, divided into 3 categories: 25 validation tests, 60 component tests, and 15 full tests. The validation tests check how you handle correct and incorrect configuration files, component tests check the behavior of your implementation for specific parts of the simulation, and full tests check the behavior of your implementation for the whole simulation. There are a total of 40 mutants, divided into 5 validation mutants and 35 simulation mutants. The validation mutants have bugs regarding the validation of either of the three input files. The simulation itself is unaffected by these bugs. To run tests against validation mutants, register tests in the function registerSystemTestsMutantValidation. The simulation mutants have bugs regarding the simulation logic. To register tests to run against these mutants, you have to register them in the function registerSystemTestsMutantSimulation. Please make sure that all tests registered for the mutants pass against the reference implementation, as the mutants will only be executed if none of the tests in registerSystemTestsMutantValidation / registerSystemTestsMutantSimulation fail. Important: To be able to pass the group phase, you need to pass 97/100 mandatory tests and find at least 35/40 mutants. You can find two lists with short descriptions of all mandatory tests and mutants on the materials' page of the CMS. Best, |
||||||||||||||||||||||
Course EvaluationWritten on 15.09.26 by Tobias Dick Dear participants, You can now find two links for the course evaluation of the SE Lab on the material page. Note that there are two separate links: one to evaluate the course, and one to evaluate the tutors. We especially appreciate constructive feedback in the free text fields. Best, the SE-Lab team |
||||||||||||||||||||||
Today's lecture is cancelledWritten on 11.09.26 by Tobias Dick Dear participants, today's lecture at 9:30 has been cancelled. We're sorry for the late notice. Because the lecture was on the schedule, mandatory attendance today starts only at 11:00 rather than earlier. Best, the SE Lab team |
||||||||||||||||||||||
Individual Design Re-EvaluationWritten on 07.09.26 by Tobias Dick Dear participants, The individual re-evaluation for the design phase will take place on Wednesday, September 9, in E1 1, SR2.06. Attendance is only required if you did not pass the individual design defense. If this applies to you, missing the re-evaluation will result in failing the… Read more Dear participants, The individual re-evaluation for the design phase will take place on Wednesday, September 9, in E1 1, SR2.06. Attendance is only required if you did not pass the individual design defense. If this applies to you, missing the re-evaluation will result in failing the course. The re-evaluation will be conducted as a written exam. Bring your student ID card and a photo ID card (e.g., passport). You are allowed to bring your laptop and use the project specification, lecture slides, and the PDF versions of your group's design diagrams, as submitted to your GitLab repository. No other aids are allowed. Use only document-proof pens (no pencils!). Red or green pens are not permitted. Admittance to the room is at 9:45; make sure to be there on time. You will have 60 minutes to work on the exam. Best, |
||||||||||||||||||||||
Allowed Materials During the Design DefenseWritten on 02.09.26 by Tobias Dick Dear participants, During the design defense, you may use the following materials:
No other resources or tools are permitted, including generative… Read more Dear participants, During the design defense, you may use the following materials:
No other resources or tools are permitted, including generative AI. Please download and open these documents before your defense begins, so you can access them without delay. Best, |
||||||||||||||||||||||
Change to the Project SpecificationWritten on 01.09.26 by Tobias Dick Dear participants, the change to the project specification is now available in the materials section of the CMS. Best, the SE Lab team |
||||||||||||||||||||||
LSF Unregistration IssuesWritten on 24.08.26 by Tobias Dick Dear participants, We've been notified that some students had trouble unregistering from the course via LSF. The examination office has confirmed there was a technical issue, which has now been resolved. If you experienced problems before, please try unregistering again. Best regards, the SE-Lab team |
||||||||||||||||||||||
Entry Exam ResultsWritten on 22.08.26 by Tobias Dick Dear participants, We have finished the correction of the Entry Exam. You can find the results on your personal status page in the CMS. If you did not pass and would like to inspect your exam, please write an e-mail by 12 pm (noon) on Monday, August 24, to: … Read more Dear participants, We have finished the correction of the Entry Exam. You can find the results on your personal status page in the CMS. If you did not pass and would like to inspect your exam, please write an e-mail by 12 pm (noon) on Monday, August 24, to: sopra@lists.se.cs.uni-saarland.de. And a short reminder: Don't forget about the registration/withdrawal deadline in the LSF on Monday, August 24. If you have passed the Entry Exam but are not registered in the LSF, you cannot participate in the group phase. And also don't forget about signing up on our GitLab. Best, |
||||||||||||||||||||||
Entry ExamWritten on 20.08.26 (last change on 20.08.26) by Tobias Dick Dear participants, Tomorrow, Friday, August 21, the entry exam takes place on-site at the campus. Since you are registered for the course in the CMS, you are automatically registered for the entry exam. This is different from the exam registration in the LSF, which is possible and necessary for… Read more Dear participants, Tomorrow, Friday, August 21, the entry exam takes place on-site at the campus. Since you are registered for the course in the CMS, you are automatically registered for the entry exam. This is different from the exam registration in the LSF, which is possible and necessary for you to do until Monday, August 24. Bring your student ID card and a photo ID card (e.g., passport) to the entry exam. No aids are allowed. Use only document-proof pens (no pencils!). Red or green pens are not permitted. The tasks are formulated in English and German. You can provide your answers in either of both languages. The entry exam is going to take place in multiple lecture halls simultaneously. Admittance to the lecture halls is at 9:45; make sure to be in front of the assigned lecture hall on time. You can find your assigned lecture hall and seat on your personal status page in the CMS. In case of illness, please inform us immediately by e-mail to sopra@lists.se.cs.uni-saarland.de and submit a medical certificate as soon as possible. Good luck, and see you tomorrow! Best, |
||||||||||||||||||||||
Tutorial Room AssignmentWritten on 17.08.26 by Tobias Dick Dear participants, you can now find your assigned tutorial room on your personal status page. Best, |
||||||||||||||||||||||
Lecture Hall for the First Two WeeksWritten on 17.08.26 by Tobias Dick Dear participants, All lectures for the first two weeks of the SE-Lab (including today's lecture) will take place in the Günter-Hotz-Hörsaal (building E2 2). Best regards, the SE-Lab team |
In case of questions, please contact us via e-mail to: sopra@lists.se.cs.uni-saarland.de.
About the Software Engineering Lab
Passing the course "Programming 2" is a mandatory prerequisite for participation in the Software Engineering Lab!
The Chair of Software Engineering offers a Software Engineering Lab (SE Lab), formerly Software-Praktikum (SoPra), in the form of a basic block course during the lecture-free period, which addresses students currently enrolled in a Bachelor’s degree program majoring and minoring in computer science. The goal of the Software Engineering Lab is to develop a non-trivial software system in Kotlin in a group effort. Other characteristics of the Software Engineering Lab are:
-
Time period: 17.08.2026 – 02.10.2026
-
Duration: 7 weeks (daily Monday to Friday)
-
The Software Engineering Lab consists of two phases:
-
Exercise phase (~1 week): Daily lectures (beginning at 09:30) and exercises in the afternoon. At the end of the first week, on Friday, 21.08.2026, an entry exam will take place. Only participants that pass the entry exam will be admitted to the group phase.
-
Group phase (~6 weeks): Design, implementation, and testing of a substantial software system in a team effort (in teams of five to seven students). Only participants that have passed the exercise phase are admitted to the group phase.
-
- Compulsory Attendance: During the group phase, compulsory attendance is required between 10:00 and 16:00 (at days with lectures between 11:00 and 16:00). There will be three additional appointments between 09:00 and 18:00. To accommodate students with minijobs, the attendance requirement is lifted for one day per week in the Software Engineering Lab. By default, this day is Tuesday, but groups may select a different day. The chosen day must be communicated to the tutor at the start of the group phase. We will attempt to schedule mandatory sessions outside of your chosen day, but we can not guarantee it. You may need to attend at least part of the day. Out of the seven weeks, around one and a half weeks—including the seventh week—are allocated for the re-evaluation of students or groups who fail submissions, during which compulsory attendance is waived, too.
In exceptional cases, in which you are not able to fulfill the compulsory attendance on single days of the group phase, please inform your tutor during the course. We then will take a hardship decision about the attendance for individual days, which may also be dependent on your project progress, if necessary.
If a group fulfills all requirements for passing the group phase, we will waive the compulsory attendance for this group.
-
More details about the time slots and dates of the lectures and the concrete temporal sequence of the Software Engineering Lab are available in the schedule presumably in the end of July.
The Software Engineering Lab will take place on-site at the campus.
Upon registration in the CMS, you will be asked for your preferred language (English or German). We try to use this information for the tutorial assignment in the exercise phase, if possible (but without guarantee; the default language is English). Your decision in the CMS helps us to prepare the course.
We will upload a file covering organizational matters in the week before the SE Lab starts, in which we provide further information on the schedule of the course.
Prerequisites
Passing the course "Programming 2" is a mandatory prerequisite for participation in the Software Engineering Lab!
Participation in the Software Engineering Lab requires programming skills as taught in the courses Programming 1 and Programming 2.
Students are required to bring their own laptops.
Registration
Registration for the Software Engineering Lab here in the CMS is possible from 06.07.2026.
Two registrations are necessary for participation in the Software Engineering Lab:
-
You have to register here in the CMS by 17.08.2026.
-
You have to register at your examinations office by 24.08.2026 (for most degree programs in computer science, this is possible via the LSF; note that the course is sometimes called ‘Softwaredesignpraktikum’ there). There you can also withdraw your registration until 24.08.2026. The LSF registration opens on 03.08.2026 and is only possible after a passing grade for the course "Programming 2" has been entered in your LSF records.
For students who cannot register in the LSF because their course of studies does not use the LSF: You have to provide a certificate to us that confirms that you have passed "Programming 2", within the time period of the LSF registration.
Contents
- Software design
- Software testing
- Team work
- Debugging
Literature
- Software Engineering. I. Sommerville. Addison-Wesley, 2004.
- Software Engineering: A Practioner's Approach. R. Pressman. McGraw Hill Text, 2001.
- Using UML: Software Engineering with Objects and Components. P. Stevens, R. Pooley. Addison-Wesley, 1999.
- UML Distilled. M. Fowler, K. Scott. Addison-Wesley, 2000.
- Objects, Components and Frameworks with UML, D. D'Souza, A. Wills. Addison-Wesley, 1999.
- Designing Object-Oriented Software. R. Wirfs-Brock, B. Wilkerson, L. Wiener. Prentice Hall, 1990.
- Design Patterns. Elements of Reusable Object-Oriented Software. E. Gamma, R. Helm, R. Johnson, J. Vlissides. Addison Wesley, 1995.
- Pattern-Oriented Software Architecture: A System of Patterns. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Wiley, 1996.
- Head First Design Patterns. E. Freeman, E. Robson, K. Sierra, B. Bates. O’Reilly, 2004.
- Software Architecture: Perspectives on an Emerging Discipline. M. Shaw, D. Garlan. Prentice-Hall, 1996.
- Refactoring: Improving the Design of Existing Code. M. Fowler, K. Beck, W. Opdyke. Addison-Wesley, 1999.
- Software Testing and Analysis: Process, Principles and Techniques. M. Pezze. Wiley. 2007.
