Generic and Generative Software Design Sven Apel, Florian Sattler Advanced Course (6CP)

News

21.10.2021

Dear students,

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

This is the grading scheme ( points = (max(exam, re-exam) * 5/6) + sum(assignments) ):

Grade: Point range

1.0: 95   ≤   points   <   -

1.3: 90   ≤   points   <  ... Read more

Dear students,

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

This is the grading scheme ( points = (max(exam, re-exam) * 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 27.10.2021 from 10 am. 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.

Please keep at least 1,5 m apart at all times before, after, and during the re-exam inspection. After entering the room, immediately take a seat at one of the marked seats. Please note that it is necessary for you to bring your medical mouth-nose protection mask (surgical mask or FFP2/KN95/N95 mask) with you.

If your answer is "yes" to one or more of the following questions, then you are not allowed to attend the exam inspection.

  1. Did you have definite contact with a Covid-19 patient, who was tested positive, in the last 14 days?
  2. Do you have any of the following symptoms?
  • Cough / Husten
  • Sore throat / Halsschmerzen
  • Nasal congestion / runny nose / Schnupfen
  • Diarrhoea /Durchfall
  • Fever /Fieber
  • Aches and pains / Gliederschmerzen
  • Loss of smell (e.g. no longer able to smell burnt food) / Geruchsverlust
  • Loss of taste (e.g. unable to distinguish when food is burnt) / Geschmacksverlust”

If you have any questions feel free to ask us via email.

All the best,
your GGSD-team

16.08.2021

Exam Inspection

Dear students,

the exam inspection for this course will take place on 25.08.2021 from 10 am. The inspection takes place in room 2.06 in E1.1.

We have separated the inspection into three 30 minute slots. You have to register for one of the slots via the... Read more

Dear students,

the exam inspection for this course will take place on 25.08.2021 from 10 am. The inspection takes place in room 2.06 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 7 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.

Please keep at least 1,5 m apart at all times before, after, and during the re-exam inspection. After entering the room, immediately take a seat at one of the marked seats. Please note that it is necessary for you to bring your medical mouth-nose protection mask (surgical mask or FFP2/KN95/N95 mask) with you.

If your answer is "yes" to one or more of the following questions, then you are not allowed to attend the exam inspection.

  1. Did you have definite contact with a Covid-19 patient, who was tested positive, in the last 14 days?
  2. Do you have any of the following symptoms?
  • Cough / Husten
  • Sore throat / Halsschmerzen
  • Nasal congestion / runny nose / Schnupfen
  • Diarrhoea /Durchfall
  • Fever /Fieber
  • Aches and pains / Gliederschmerzen
  • Loss of smell (e.g. no longer able to smell burnt food) / Geruchsverlust
  • Loss of taste (e.g. unable to distinguish when food is burnt) / Geschmacksverlust”

If you have any questions feel free to ask us via email.

All the best,
your GGSD-team

04.08.2021

Dear students,

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

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

Grade: Point range

1.0: 95   ≤   points   <   -

1.3: 90   ≤   points   <   95

1.7: 85   ≤  ... Read more

Dear students,

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

This is the grading scheme ( points = (exam * 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

 

We will publish the date of the exam inspection soon.

 

Best regards,

Your GGSD-team

26.07.2021

Forum

Dear students,

 

This week, we will shutdown the forum (discourse). As the forum was never used and inactive we decided to shutdown the forum.

As usual, you can still use the discord to ask questions or contact us directly.

 

All the best,

Your... Read more

Dear students,

 

This week, we will shutdown the forum (discourse). As the forum was never used and inactive we decided to shutdown the forum.

As usual, you can still use the discord to ask questions or contact us directly.

 

All the best,

Your GGSD-team

 

20.07.2021

Exam

Please note that it is necessary for you to bring your medical mouth-nose protection mask (surgical mask or FFP2/KN95/N95 mask) with you. A negative PoC antigen test not older than 24 hours or vaccination or recovery is recommended.

 

If your answer is "yes"... Read more

Please note that it is necessary for you to bring your medical mouth-nose protection mask (surgical mask or FFP2/KN95/N95 mask) with you. A negative PoC antigen test not older than 24 hours or vaccination or recovery is recommended.

 

If your answer is "yes" to one or more of the following questions, then you are not allowed to attend the exam. If you provide a doctor’s certificate to the examination office later on, the examination attempt will be canceled and will not count. 

Did you have definite contact with a Covid-19 patient, who was tested positive, in the last 14 days?

Do you have any of the following symptoms?

▪ Cough / Husten

▪ Sore throat / Halsschmerzen

▪ Nasal congestion / runny nose / Schnupfen

▪ Diarrhoea /Durchfall

▪ Fever /Fieber

▪ Aches and pains / Gliederschmerzen

▪ Loss of smell (e.g. no longer able to smell burnt food) / Geruchsverlust

▪ Loss of taste (e.g. unable to distinguish when food is burnt) / Geschmacksverlust

14.07.2021

QUALIS Evaluation

Dear students,

 

you received an email with the links to the QUALIS evaluation.

You are only able to participate until 15th of July, so please submit your feedback until the deadline.

 

All the best,

Your GGSD-team

12.07.2021

Q&A Session and Office Hour

Dear students,

tomorrows lecture will be a Q&A session, where you can ask any questions related to the lecture and the exam.

The tutorial on Wednesday will be an office hour, where you can ask questions about the current assignment.

 

All the... Read more

Dear students,

tomorrows lecture will be a Q&A session, where you can ask any questions related to the lecture and the exam.

The tutorial on Wednesday will be an office hour, where you can ask questions about the current assignment.

 

All the best,

Your GGSD-team

 

02.07.2021

Assignment Uploaded

Dear students,

we've uploaded the last assignment today, you find the assignment sheet in the materials category in the CMS.

Deadline for this assignment is 16.07.2021 23:59.

 

Happy coding, and all the best,

Your GGSD-team

01.07.2021

Last Assignment

Dear students,

as working in teams furthers design discussions and helps you complete the assignment, we want to give the teams with only one member the opportunity to merge with other teams that only contain one member.

You can reach out to us until Monday,... Read more

Dear students,

as working in teams furthers design discussions and helps you complete the assignment, we want to give the teams with only one member the opportunity to merge with other teams that only contain one member.

You can reach out to us until Monday, 05.07.2021, if you have a team to merge in mind.

All the best,

Your GGSD-team

01.07.2021

First Exam

Dear students,

 

As a reminder, the exam takes place on Wednesday, 21.07.2021 12:00 CEST, in GHH (E2.2).

To help you prepare for the exam, there is a open questions round at the 13.07 during lecture time, so please bring questions.

 

All the... Read more

Dear students,

 

As a reminder, the exam takes place on Wednesday, 21.07.2021 12:00 CEST, in GHH (E2.2).

To help you prepare for the exam, there is a open questions round at the 13.07 during lecture time, so please bring questions.

 

All the best,

 

Your GGSD-team

11.06.2021

Assignment

Dear Students,

 

we have just uploaded the second assignment. The deadline for the submission of the second assignment is 25.06.2021 23:59.

 

All the best,

Your GGSD-team

26.05.2021

Array Library

Dear students,
 
We found a small bug (UB) in the ArrayAdd/ArrayMultiply implementation
with the OperandType, when add/multiplies are chained (a+b+c).
We updated the slides containing the fix, so please checkout the updated
slides, especially page 51, and... Read more
Dear students,
 
We found a small bug (UB) in the ArrayAdd/ArrayMultiply implementation
with the OperandType, when add/multiplies are chained (a+b+c).
We updated the slides containing the fix, so please checkout the updated
slides, especially page 51, and update the ArrayLib implementation in
case you use it for the assigment.
 
All the best,
 
your GGSD-team
 
PS: Please keep in mind that the registartion deadline (LSF) for the exam is on Monday 31.05.
21.04.2021

First Assignment

Dear Students,

 

we have just uploaded the zeroth assignment. We will unlock the submission after the deadline for the teams.

The deadline to build your team is 23.04.2021 23:59, the deadline for the submission of the zeroth assignment is 05.05.2021... Read more

Dear Students,

 

we have just uploaded the zeroth assignment. We will unlock the submission after the deadline for the teams.

The deadline to build your team is 23.04.2021 23:59, the deadline for the submission of the zeroth assignment is 05.05.2021 23:59.

 

All the best,

Your GGSD-team

16.04.2021

Team for Assignments

Dear Students,

 

we have just found a feature in the CMS to create teams for the admissions and added that to your personal status in the CMS.

There you can connect your teammate, such that your submissions are connected to both of your accounts... Read more

Dear Students,

 

we have just found a feature in the CMS to create teams for the admissions and added that to your personal status in the CMS.

There you can connect your teammate, such that your submissions are connected to both of your accounts correctly.

Please connect with your teammate, even if you already uploaded the txt-file for the teammates submission.

 

All the best,

your GGSD-Team

12.04.2021

First Lecture

Dear Students,

 

a few more brief details. The first lecture will take place on Tuesday 13th of April. 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... Read more

Dear Students,

 

a few more brief details. The first lecture will take place on Tuesday 13th of April. 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 to participate in this course you must register by midnight on 18th of April.

We've uploaded the first two sets of slides under materials. You find the link for the Zoom-meeting in the Introduction slides.

 

All the best,

Your GGSD-Team

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: Tuesday (10⁠–12 c.t.) and Wednesday (12⁠–14 c.t.) CEST
  • First Meeting: Tuesday 13.04.2021  (10⁠–12 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++ 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