#let kind = (: "wahlpflicht": "Wahlpflicht", "vertiefungsfach": "Vertiefungsfach", "ergaenzungsfach": "Ergänzungsfach", "none": "" ) #let prufung( study: "", // Studiengang lecture: "", // Fach kind: kind.none, // Prüfungsart (Wahlpflicht, Vertiefungsfach, Ergänzungsfach) date: datetime(year: 0, month: 1, day: 1), // Prüfungsdatum examiner: "", // PrüferIn (Prof) assistant: "", // BeisitzerIn grade_received: 0.0, // Note grade_reasonable: "", // War die Note angemessen? exam_duration: duration(minutes: 0), // Prüfungsdauer attendance: ( /* Veranstaltung, Dozent(in), Jahr, regelmäßig besucht? */ (lecture: "", lecturer: "", year: "", did_attend: ""), (lecture: "", lecturer: "", year: "", did_attend: ""), (lecture: "", lecturer: "", year: "", did_attend: ""), (lecture: "", lecturer: "", year: "", did_attend: ""), ), attendance_worth: [ // Hat sich der Besuch / Nichtbesuch der Veranstaltung für dich gelohnt? ], preparation_time: [ // Wie lange und wie hast alleine bzw. mit anderen vorbereitet? ], agreements: [ // Fanden vor der Prüfung Absprachen zu Form oder Inhalt statt? Wurden sie eingehalten? ], preparations: [ // Welche Tips zur Vorbereitung kannst Du geben? ], examiner_behavior: [ // Wie war der Prüfungsstil des Prüfers / der Prüferin? ], examiner_recommendation: (none, [ // Kannst du ihn / sie weiterempfehlen? Warum? ]), examinee_behavior: [ // Kannst Du Ratschläge Verhalten in der Prüfung geben? ], doc ) = [ #set page("a4", margin: 1.1cm) #set text(lang: "de", size: 10pt) #set grid(column-gutter: .5cm, inset: (bottom: 10pt)) #set table(stroke: 0.5pt) #show emoji.hand.write: box(height: 10pt, clip: true, scale(x:-100%)[🖎]) #show table.cell: it => block(inset: (bottom: 4pt, rest: 8pt), box(height: 1em, it.body)) #let radiobox(checked: false) = if checked {$circle.filled$} else {$circle$} #let input(width: 1fr, body) = box(width: width, height: 1em, inset: (bottom: 2pt), baseline: 2pt, stroke: (bottom: (dash: "loosely-dotted")),align(right, body)) #let question(q, body) = [ #grid(columns: 2, inset: 0pt, emoji.hand.write, box(inset: (top: 3pt))[*#q*]) #body ] #page([ #grid(columns: 2 * (1fr,), [ #v(1em) #grid(columns: 2, image(width: 1.8cm, "fsmi-logo.svg"), text(size: 15pt)[ Fragebogen der Fachschaft zu *mündlichen Prüfungen* \ im Informatikstudium ]) ], [ ], [],[ #align(center)[Barcode:] ], par(justify: true)[ Dieser Fragebogen gibt den Studierenden, die nach dir die Prüfung ablegen wollen, einen Einblick in Ablauf und Inhalt der Prüfung. Das erleichtert die Vorbereitung. \ Bitte verwende zum Ausfüllen einen schwarzen Stift. Das erleichtert das Einscannen. \ Vielen Dank für deine Mitarbeit! ], [ #grid( columns: (.1cm, 1fr, .1cm), rows: (.1cm, 2.5cm, .1cm), stroke: (x,y) => (: top: if x != 1 and y == 0 {.5pt}, bottom: if x != 1 and y == 2 {.5pt}, left: if y != 1 and x == 0 {.5pt}, right: if y != 1 and x == 2 {.5pt}, )) #v(2em) ], [ Dein Sudiengang: #input[#study] Prüfungsart: #let module_kinds = ( "Wahlpflicht", "Vertiefungsfach", "Ergänzungsfach", ) #for module_kind in module_kinds [ \ #radiobox(checked: kind == module_kind) #module_kind ] Welches? #input[#lecture] ], [ #grid(columns: (auto, 1fr), [Prüfungsdatum:], input[#if date.year() > 0 {date.display("[day].[month].[year]")}], [Prüfer(in): ], input[#examiner], [Beisitzer(in):], input[#assistant], ) ]) #let modules = attendance + 4 * ((lecture: "", lecturer: "", year: "", did_attend: ""),) *Prüfungsfächer und Vorbereitung:* #table(columns: 4 * (1fr,), row-gutter: (2pt, ..(3*(0pt,))), table.header[Veranstaltung][Dozent(in)][Jahr][regelmäßig besucht?], ..modules.map(((lecture, lecturer, year, did_attend)) => (lecture, lecturer, year, did_attend) ).slice(0,4).flatten() ) #v(1em) #grid(columns: 2 * (1fr,),[ Note: #input[#if grade_received > 0.0 {str(grade_received+0.01).slice(0,3).replace(".",",")}] ],[ Prüfungsdauer:#input[#if exam_duration.minutes() > 0 {exam_duration.minutes()}] Minuten ]) #v(1em) War diese Note angemessen? #input[#grade_reasonable] #v(1em) #question[Wie war der Prüfungsstil des Prüfers / der Prüferin?][ Prüfungsatmosphäre, (un)klare Fragestellungen, Frage nach Einzelheiten oder eher größeren Zusammenhängen, kamen häufiger Zwi- schenfragen oder ließ er/sie dich erzählen, wurde dir weitergeholfen, wurde in Wissenslücken gebohrt? #examiner_behavior ] ], footer: [#h(1fr)$arrow.r.hook$ *Rückseite bitte nicht vergessen!*]) #page()[ #grid(rows: (3 * (22em,)), columns: 2 * (1fr,), question[ Hat sich der Besuch / Nichtbesuch der Veran- staltung für dich gelohnt? ][#attendance_worth], question[ Kannst du ihn / sie weiterempfehlen? Warum? \ \ ][ #radiobox(checked: examiner_recommendation.at(0) == true) Ja \ #radiobox(checked: examiner_recommendation.at(0) == false) Nein #examiner_recommendation.at(1) ], question[ Wie lange und wie hast du dich alleine oder mit anderen auf die Prüfung vorbereitet? ][#preparation_time], question[ Fanden vor der Prüfung Absprachen zu Form oder Inhalt statt? Wurden sie eingehalten? ][#agreements], question[ Welche Tipps zur Vorbereitung kannst du ge-\ ben? ][ Wichtige / unwichtige Teile des Stoffes, gute Bücher / Skrip- ten, Lernstil, ... #preparations ], question[ Kannst du Ratschläge für das Verhalten in der Prüfung geben? ][#examinee_behavior] ) *Inhalte der Prüfung (bitte auf weitere Blätter):* #set list(spacing: 1.2em, indent: 1.5em) - Schreibe bitte möglichst viele Fragen und Antworten auf. - Wo wurde nach Herleitungen oder Beweisen gefragt oder sonstwie nachgehakt? - Worauf wollte der Prüfer / die Prüferin hinaus? - Welche Fragen gehörten nicht zum eigentlichen Stoff? ] #doc ]