News

Second Exam

Written on 03.04.23 by Kallistos Weis

Dear students,

we just published the results of the first exam and your grades.

This is the grading scheme ( points = (max(exam1, exam2) * 5/6) + sum(assignments) ):

Grade: Point range

1.0: 95   ≤   points   <   -

1.3: 90   ≤   points   <   95

1.7: 85   ≤   points   <   90

2.0: 80… Read more

Dear students,

we just published the results of the first exam and your grades.

This is the grading scheme ( points = (max(exam1, exam2) * 5/6) + sum(assignments) ):

Grade: Point range

1.0: 95   ≤   points   <   -

1.3: 90   ≤   points   <   95

1.7: 85   ≤   points   <   90

2.0: 80   ≤   points   <   85

2.3: 75   ≤   points   <   80

2.7: 70   ≤   points   <   75

3.0: 65   ≤   points   <   70

3.3: 60   ≤   points   <   65

3.7: 55   ≤   points   <   60

4.0: 50   ≤   points   <   55

 

the exam inspection for this course will take place on 11.04.2023 from 1 pm. The inspection takes place in room 2.15 in E1.1.

We have separated the inspection into two 30 minute slots. You have to register for one of the slots via the personal status page in the CMS. You are only allowed to register for one slot and you can only partake in the inspection in the slot that you registered for. Each slot is limited to 4 people. The spots in the slots are distributed first come first serve. If you don't get a slot because they are full, please write us an email.

Second Exam

Written on 15.03.23 by Kallistos Weis

Dear students,

the registration for the second exam was not released in the LSF.
They released the registration now and you have time until 18.03.. Remember you cannot participate in the exam if you are not registered in the LSF.

All the best,
Your GGSD-team

Exam Inspection

Written on 28.02.23 (last change on 28.02.23) by Kallistos Weis

Dear students,

we just published the results of the first exam and your grades.

This is the grading scheme ( points = (exam1 * 5/6) + sum(assignments) ):

Grade: Point range

1.0: 95   ≤   points   <   -

1.3: 90   ≤   points   <   95

1.7: 85   ≤   points   <   90

2.0: 80   ≤  … Read more

Dear students,

we just published the results of the first exam and your grades.

This is the grading scheme ( points = (exam1 * 5/6) + sum(assignments) ):

Grade: Point range

1.0: 95   ≤   points   <   -

1.3: 90   ≤   points   <   95

1.7: 85   ≤   points   <   90

2.0: 80   ≤   points   <   85

2.3: 75   ≤   points   <   80

2.7: 70   ≤   points   <   75

3.0: 65   ≤   points   <   70

3.3: 60   ≤   points   <   65

3.7: 55   ≤   points   <   60

4.0: 50   ≤   points   <   55

 

the exam inspection for this course will take place on 06.03.2023 from 1 pm. The inspection takes place in room 2.18 in E1.1.

We have separated the inspection into three 30 minute slots. You have to register for one of the slots via the personal status page in the CMS. You are only allowed to register for one slot and you can only partake in the inspection in the slot that you registered for. Each slot is limited to 5 people. The spots in the slots are distributed first come first serve. If you don't get a slot because they are full, please write us an email.

Reminder Exam

Written on 10.02.23 by Kallistos Weis

Dear students,

As a reminder, the first exam will be next Monday (February 13th), at 10:00, in E1 3 HS002.

All the best,

Your GGSD-team

Last Assignment

Written on 26.01.23 by Kallistos Weis

Dear students,

 

we've just published the last assignment! You have until February, 09th to work on the assignment.

 

Please note, the last exercise will take place on Monday, 30th of January, 12pm-2pm (usual time slot).

 

Alle the best,

Your GGSD-team

Rescheduled Lecture

Written on 23.01.23 by Kallistos Weis

Dear students,

 

the lecture today will be rescheduled to Wednesday.

 

Have a nice day,

Your GGSD-team

Reminders and QUALIS-Evaluation

Written on 11.01.23 by Kallistos Weis

Dear students,

 

The second assignment deadline is on Sunday 11:59 pm, please remember to update the master branch in the gitlab with your solution before the deadline.

On Monday, January 15th, the lecture continues with the next chapter about generative programming, as usual via Zoom.

You… Read more

Dear students,

 

The second assignment deadline is on Sunday 11:59 pm, please remember to update the master branch in the gitlab with your solution before the deadline.

On Monday, January 15th, the lecture continues with the next chapter about generative programming, as usual via Zoom.

You find the links to the QUALIS evaluation in the Materialssection in the CMS.

You are only able to participate until 2nd of February, so please submit your feedback until the deadline.

 

All the best,

Your GGSD-team

Second Assignment

Written on 21.12.22 by Kallistos Weis

Dear students,

The second project started today and ends on Sunday, January 15th, 23:59, which means you have 2 and a half weeks to complete the assignment (excluding Christmas holidays).

Please note, that the second Assignment will count 20% towards your final grade.

 

All the… Read more

Dear students,

The second project started today and ends on Sunday, January 15th, 23:59, which means you have 2 and a half weeks to complete the assignment (excluding Christmas holidays).

Please note, that the second Assignment will count 20% towards your final grade.

 

All the best,

your GGSD-team

LSF Registration

Written on 02.12.22 by Kallistos Weis

Dear students,

you can still register in the lsf until the end of today. If you are not registered yet and want to pass the course you have to register today.

 

All the best,

Your GGSD-team

First Project

Written on 14.11.22 by Kallistos Weis

Dear students,

The first project will start on Tuesday, November 22nd, at 2pm and end on Tuesday, December 06th, 23:59. Remember to register your team in the CMS (both team members have to submit) until Wednesday, November 16th.

Please note, that the first Assignment will count 10% towards your… Read more

Dear students,

The first project will start on Tuesday, November 22nd, at 2pm and end on Tuesday, December 06th, 23:59. Remember to register your team in the CMS (both team members have to submit) until Wednesday, November 16th.

Please note, that the first Assignment will count 10% towards your final grade.

 

All the best,

your GGSD-team

First Slide Decks

Written on 26.10.22 by Kallistos Weis

Dear students,

we just uploaded a new version of the first slide decks with updated links to the current discord server.

 

All the best,

your GGSD-team

First lecture

Written on 24.10.22 by Kallistos Weis

Dear Students,

 

a few more brief details. The first lecture will take place on Wednesday 26th of October. We will record this and all subsequent lectures and make them available to you. This way, you will be able to watch them again if there is a clash of dates.

Note that the first lecture… Read more

Dear Students,

 

a few more brief details. The first lecture will take place on Wednesday 26th of October. We will record this and all subsequent lectures and make them available to you. This way, you will be able to watch them again if there is a clash of dates.

Note that the first lecture will be held only online via Zoom [1].

We'll upload the first two sets of slides under materials before the lecture. You will also find the link for the Zoom-meeting in the Introduction slides.

 

All the best,

Your GGSD-Team

[1]: https://cs-uni-saarland-de.zoom.us/j/93307229871?pwd=Z0ljb1Z3VXd3TnlLZVh6SHlzdXdvdz09

Show all

Generic and Generative Software Design

 

 

General Information

The course treats Generic and Generative Software Design to build reusable software components utilizing meta-programming. During the course, students learn different techniques on how to design generic and reusable components. This includes functional abstractions to build generic higher-order functions, meta-programming techniques to improve API design and software performance as well as designing DSLs to simplify the usage of generic APIs. During the course, we focus on discussing and reasoning about design trade-offs in generic code, drawing ideas from different imperative and functional programming languages. Furthermore, the lecture explores how we can use generative domain models to generate customized program variants.

 

Syllabus

  • C++ Basics
  • Encoding configurability into types
  • Functional abstraction and higher-order functions
  • Type computations
  • Generic Programming
  • Type-APIs
  • Embedded DSL
  • Introduction to product-line engineering
  • Generating program variants with generative domain models

 

Lecture Dates

  • Place: Online (via Zoom)
  • Time: Monday (12⁠–14 c.t.) and Wednesday (12⁠–14 c.t.) CEST
  • First Meeting: 26.10. (12–14 c.t.) CEST

 

Entrance Requirements

  • Knowledge of programming concepts (as taught in the lectures Programmierung 1 and Programmierung 2)
  • Basic knowledge of software processes, design, and testing (as taught and applied in the lecture Softwarepraktikum)
  • Basic knowledge of C++ is advisable (we provide a condensed but comprehensive introduction at the beginning)
  • Basic knowledge on Linux systems is recommended

 

Modus Operandi

Beside the lecture and weekly practical exercises, there will be three assignments in the form of mini-projects for each group (2 students) to work on. The assignments will be assessed based on the principles covered in the lecture. Students need to achieve at least 50% of the points of the assignments as well as the written exam to pass the course. The final grade is determined by the written exam (50%) and the three assignments (10%, 20%, 20%). Further examination details will be announced by the lecturer at the beginning of the course.

In short:

  • Passing the assignments (min. 50% of the points)

  • Passing the written exam (min. 50% of the points)

 

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