News

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.