News

Re-Exam Inspection

Written on 22.04.24 by Lukas Abelt

Dear Students,

the exam inspection for the software engineering re-exam will take place this Friday (26.04.2024) in R106 E1.1 from 2 PM to 5PM. There will be 20 minute slots for which you can now register in the CMS. You are only allowed to register for one slot. The registration is open until… Read more

Dear Students,

the exam inspection for the software engineering re-exam will take place this Friday (26.04.2024) in R106 E1.1 from 2 PM to 5PM. There will be 20 minute slots for which you can now register in the CMS. You are only allowed to register for one slot. The registration is open until Thursday (25.04.2024) 23:59.

To attend the exam inspection, you need to bring your student ID and a valid photo ID.

Best,
the SE team

Re-Exam Results

Written on 28.03.24 by Lukas Abelt

Dear Students,

we just published the grades for the re-exam in the CMS. You can find them on your personal status page.

Unfortunately we will only be able to offer an exam inspection once the new semester has started. We will provide you with more details at a later point in time.

Best,
the SE team

Information for Re-Exam

Written on 26.03.24 by Sebastian Böhm

Dear students,

the re-exam will take place on the 27th of March at 10:00am in GHH (E2.2). We will start the entrance control at 09:50am. You have to be at the lecture hall by 10:00am at the latest.

Please read the following information carefully to ensure a problem free exam:

Dear students,

the re-exam will take place on the 27th of March at 10:00am in GHH (E2.2). We will start the entrance control at 09:50am. You have to be at the lecture hall by 10:00am at the latest.

Please read the following information carefully to ensure a problem free exam:

  • Exam duration: 90 minutes
  • There are no additional aids allowed (e.g., notes, calculator, ...).
  • Please have your student ID and photo ID ready for identity control.
  • Only use indelible pens (e.g., ballpoint pens, ink pens). Do not use red or green pens or pencils.
  • You can provide solutions in English or German. However, do not switch languages within a task.
  • There is no fixed seating plan. Take any free seat with an exam in front in your assigned lecture room.

Best,
the SE team

Exam Inspection

Written on 27.02.24 by Sebastian Böhm

Dear Students,

the exam inspection for the software engineering exam will take place on Tuesday (05.03.2024) in HS002 E1.3 from 9am to 12am. There will be 20 minute slots for which you can now register in the CMS. You are only allowed to register for one slot. The registration is open until Friday… Read more

Dear Students,

the exam inspection for the software engineering exam will take place on Tuesday (05.03.2024) in HS002 E1.3 from 9am to 12am. There will be 20 minute slots for which you can now register in the CMS. You are only allowed to register for one slot. The registration is open until Friday (01.03.2024) 23:59.

To attend the exam inspection, you need to bring your student ID and a valid photo ID.

Best,
the SE team

Exam Results

Written on 20.02.24 by Sebastian Böhm

Dear Students,

we just published the grades for the final exam in the CMS. You can find them on your personal status page.

Information about the exam inspection will follow soon.

Best,
the SE team

Eye-Tracking Study

Written on 16.02.24 by Lukas Abelt

Dear Students,

Currently one of our Masters Thesis Students is looking for participants for an eye-tracking study.
You can find some more information in the following:

==============================================================
Are you interested in participating in an exciting eye-tracking… Read more

Dear Students,

Currently one of our Masters Thesis Students is looking for participants for an eye-tracking study.
You can find some more information in the following:

==============================================================
Are you interested in participating in an exciting eye-tracking study for programmers?

Join us for a research study on program comprehension led by Nils Alznauer for his Master's thesis at the Software Engineering chair.

Ever wondered how your eyes move when you're diving into code? We'll uncover the secrets behind program comprehension by tracking your eye movements as you explore.

Are you enrolled in a computer science-related bachelor’s program, have you previously utilized Python (Prog2 Prep Course is sufficient) and do you speak either German or English? Then you are the perfect participant for this study!

Overall Time Commitment: less than 1 hour 30 minutes
Where: E1 1, Room 2.09
When: 09.02.2024 - 26.04.2024

Plus, just for participating, you'll score a snack box for your upcoming exams!

And there's a chance to win one of two 25€ Amazon vouchers.

Interested? Secure your spot now: Meeting Slot

Rest assured, your privacy is our priority. All data collected will be anonymized and securely stored. Ready to dive into the fascinating world of program comprehension with us?

Sign up now and let's uncover some tech mysteries together! Best regards, Nils

Information for Final Exam

Written on 14.02.24 by Sebastian Böhm

Dear students,

the final exam will take place on the 15th of February at 10:00am. We have to separate you into three different rooms: The GHH (E2.2) and HS001, HS002, and HS003 in E1.3. We will start the entrance control at 09:50am. You have to be in the lecture hall by 10:00am at the… Read more

Dear students,

the final exam will take place on the 15th of February at 10:00am. We have to separate you into three different rooms: The GHH (E2.2) and HS001, HS002, and HS003 in E1.3. We will start the entrance control at 09:50am. You have to be in the lecture hall by 10:00am at the latest.

You can find the information about the room you have been assigned to in the following table:

Matr. Nr. Room
2500000 - 7039120 GHH (E2 2)
7039121 - 7055040 HS 0.01 (E1 3)
> 7055041 HS 0.03 (E1 3)

 

Please read the following information carefully to ensure a problem free exam:

  • Exam duration: 90 minutes
  • There are no additional aids (e.g., notes, calculator, ...) allowed.
  • Please have your student ID and photo ID ready for identity control.
  • Only use indelible pens (e.g., ballpoint pens, ink pens). Do not use red or green pens or pencils.
  • You can provide solutions in English or German. However, do not switch languages within a task.
  • There is no fixed seating plan. Take any free seat with an exam in front in your assigned lecture room.

Best,
the SE team

Exam Registration Reminder

Written on 05.02.24 by Lukas Abelt

Dear Students,

If you want to take the first exam on February 15th, please keep in mind that you have to register until this Thursday (February 8th) through the LSF.

If you cannot register in LSF for any reason, but still want to take the exam, please contact us via mail as soon as… Read more

Dear Students,

If you want to take the first exam on February 15th, please keep in mind that you have to register until this Thursday (February 8th) through the LSF.

If you cannot register in LSF for any reason, but still want to take the exam, please contact us via mail as soon as possible.

Best,

the SE team

Exam Preparation Excercise Sheet Uploaded

Written on 02.02.24 by Lukas Abelt

Dear Students,

We have just uploaded the additional exercise sheet with some additional tasks to help you preparing for the exams.
The sheet contains various tasks covering different lecture topics.

Best,

the SE team.

Assignment 04 Results

Written on 30.01.24 by Lukas Abelt

Dear Students,

We have published the results for the fourth and final assignment. You can see your results on your personal status page.

Best,

the SE team.

Assignment 04 - Clarifications

Written on 17.01.24 by Lukas Abelt

Dear students,

We have uploaded an updated version of the sheet for Assignment 04.

It contains several clarifications that came up in the forum discussion. Most importantly, it now includes a description of the termination criterion for the CART construction.

Best,

the SE team

Tutorial on Wednesday, 17.01.2024 Online ONLY

Written on 16.01.24 by Lukas Abelt

Dear students,

The German Meteorological Service has issued its highest level warning that there is a very high risk of black ice for tomorrow, Wednesday, 17 January 2024.

Therefore, the university strongly advises to not carry out any in-person activities tomorrow, to not bring anyone into… Read more

Dear students,

The German Meteorological Service has issued its highest level warning that there is a very high risk of black ice for tomorrow, Wednesday, 17 January 2024.

Therefore, the university strongly advises to not carry out any in-person activities tomorrow, to not bring anyone into danger by going to university.
Thus, tomorrows tutorial session will be completely online in MS teams. In-person participation will not be possible.

 

As by the current forecasts, the weather situation should have eased by Thursday. Thus the tutorial session on Friday should be hybrid as usual. We will inform you if there are any changes.

 

Stay safe,

the SE team

Assignment 4

Written on 15.01.24 by Lukas Abelt

Dear Students,

We have just released the fourth and final 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… Read more

Dear Students,

We have just released the fourth and final 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.

Any questions regarding the assignment can be asked in tomorrows Q&A session or the forum.


Best,
the SE Team

Online Participation of Tutorial

Written on 12.01.24 by Lukas Abelt

Dear Students,

Due to network issues at the University we cannot to offer a hybrid tutorial today via MS Teams.
Only in-person participation is possible.

Sorry for the inconvenience.

Best,

the SE Team

Course Evaluation

Written on 12.01.24 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 31.01.2024.

Lecture evaluation: https://qualis.uni-saarland.de/eva/?l=146435&p=pejg3k
Tutorial evaluation: https://qualis.uni-saarland.de/eva/?l=1464351&p=c9ozjq

Best,
the SE Team

Assignment 3 Results

Written on 09.01.24 by Sebastian Böhm

Dear students,

we have just published the results for the third Assignment. You can see your results on your personal status page.

Best,
the SE team

Schedule Around Christmas Break

Written on 18.12.23 by Sebastian Böhm

Dear students,

due to the Christmas break, there are no lecture videos this week, only an exercise sheet including last week's topics.

The timetable for the coming weeks looks as follows:
18.12.            handout Assignment 3
19.12. 12:00 Q&A session
3.1./5.1.        discussion sheet 08
Read more

Dear students,

due to the Christmas break, there are no lecture videos this week, only an exercise sheet including last week's topics.

The timetable for the coming weeks looks as follows:
18.12.            handout Assignment 3
19.12. 12:00 Q&A session
3.1./5.1.        discussion sheet 08
8.1.                Assignment 3 submission deadline / next lecture videos / handout sheet 10
9.1.                Q&A session
10.1./12.1.    discussion sheet 09

Best,
the SE-team

Assignment 3

Written on 18.12.23 by Sebastian Böhm

Dear Students,

We have just 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… Read more

Dear Students,

We have just 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.

Any questions regarding the assignment can be asked in tomorrows Q&A session or the forum.


Best,
the SE Team

Assignment 2 Results

Written on 15.12.23 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,
the SE team

Assignment 2 Project Skeleton Updated (2)

Written on 04.12.23 by Sebastian Böhm

Dear students,

we have uploaded a new version of the project skeleton where we have fixed another two issues:
- Fixed platform dependent line breaks (see here)
- Fixed decorator order example (see here)

Note that both changes do not impact the implementation task itself, but mostly the… Read more

Dear students,

we have uploaded a new version of the project skeleton where we have fixed another two issues:
- Fixed platform dependent line breaks (see here)
- Fixed decorator order example (see here)

Note that both changes do not impact the implementation task itself, but mostly the execution of the tests.

Best,
the SE-team

Assignment 2 Project Skeleton Updated

Written on 29.11.23 by Sebastian Böhm

Dear students,

we have uploaded a new version of the project skeleton where we have fixed two small issues:
- the preprocessor version used an incorrect feature in one location (see this forum post)
- the decorator interfaces had incorrect type annotations for the logger variable

In addition,… Read more

Dear students,

we have uploaded a new version of the project skeleton where we have fixed two small issues:
- the preprocessor version used an incorrect feature in one location (see this forum post)
- the decorator interfaces had incorrect type annotations for the logger variable

In addition, we specified more clearly in the tests for subtask b) in which order the decorators have to be combined.

Best,
the SE-team

EEG-Study Participants Wanted!

Written on 27.11.23 by Sebastian Böhm

Are you interested in participating in an exciting EEG and eye-tracking study for programmers? Look no further! We have a fantastic opportunity for you to contribute to cutting-edge research in the field of neuroscience.

In this study, we will be using state-of-the-art EEG and eye-tracking… Read more

Are you interested in participating in an exciting EEG and eye-tracking study for programmers? Look no further! We have a fantastic opportunity for you to contribute to cutting-edge research in the field of neuroscience.

In this study, we will be using state-of-the-art EEG and eye-tracking technology to gain valuable insights into the human brain when programmers are reading code.

By participating, you will have the chance to learn more about your own brain and how it processes information.
As a token of our appreciation for your participation, you will receive a generous compensation for your time and effort (about €24 for two hours).
You will also receive snacks and beverages during the experiment.

To participate, you need to

  • be fluent in either English or German.
  • be enrolled in a master's program or already have a master’s degree.
  • have some programming experience and have used Java (Prog. 2 or similar is sufficient).
  • be right-handed.

Sign up for our EEG and eye-tracking study today and embark on a fascinating journey into the world of neuroscience!
Reserve your spot at: https://calendly.com/programcomprehensionstudy/eye-tracking-eeg-studie

We look forward to welcoming you to our study!
For more information look at the attached flyer.

Kind regards
Anna-Maria Maurer

Assignment 2

Written on 27.11.23 by Sebastian Böhm

Dear Students,

We have just 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… Read more

Dear Students,

We have just 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.

Any questions regarding the assignment can be asked in tomorrows Q&A session or the forum.


Best,
the SE Team

Assignment 1 Results

Written on 23.11.23 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,
the SE team

Assignment 01 Minor Correction

Written on 07.11.23 by Lukas Abelt

Dear Students,

We have uploaded a minor correction to the first assignment sheet.
In the tar man page for Task 2, the synopsis of the "delete" option was updated which was previously inconsistent to the textual description.

Please make sure to download the latest version of the Assignment Sheet… Read more

Dear Students,

We have uploaded a minor correction to the first assignment sheet.
In the tar man page for Task 2, the synopsis of the "delete" option was updated which was previously inconsistent to the textual description.

Please make sure to download the latest version of the Assignment Sheet to avoid any mistakes.

Sorry for the inconveniences.

Best,

the SE team.

Assignment 01

Written on 06.11.23 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 questions regarding the assignment can be asked in tomorrows Q&A session or the forum.


Best,
the SE Team

Course Introduction

Written on 23.10.23 by Sebastian Böhm

Dear students,

tomorrow (2023-10-24), there will be an introductory session where we discuss organizational matters regarding the course this year.
The session takes place during the time slot of the Q&A session, that is, at 12:15 in HS 002.

Unfortunately, this room does not have a teams setup,… Read more

Dear students,

tomorrow (2023-10-24), there will be an introductory session where we discuss organizational matters regarding the course this year.
The session takes place during the time slot of the Q&A session, that is, at 12:15 in HS 002.

Unfortunately, this room does not have a teams setup, so this session, as well as all the other Q&A sessions are in-presence only.
Therefore, we have already uploaded the slides with all the information that will be discussed in the session.

Any remaining questions can also be asked in our forum. The link for that can also be found in the uploaded slides or in the menu bar on the CMS.

Best,
the SE-team
 

Show all

Software Engineering Wintersemester 2023/24

 

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
  • Collaboration-based design
  • Aspects, pointcuts, advice
  • Expression problem, preplanning problem, code scattering & tangling, tyranny of the dominant decomposition, inheritance vs. delegation vs. mixin composition
  • Feature interaction problem (structural, control- & data-flow, behavioural, 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

This year, lectures will only be uploaded as videos—there are no in-person lectures. In addition, there will be a Q&A session in person every Tuesday 12-14h.
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 can be found in the course's timetable.

 

Registration

To get access to exercise sheets and other course material you need to register via this CMS course. Registration opens on 01.09.2023 and ends on 20.11.2023.

 

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.

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