summaryrefslogtreecommitdiff
path: root/mundl-prufung/prufung.typ
diff options
context:
space:
mode:
authororangerot <orangerot@orangerot.dev>2025-08-31 00:06:04 +0200
committerorangerot <orangerot@orangerot.dev>2025-08-31 00:22:36 +0200
commitd5c2f311c665b31400efaf95ba0d95cc56644b82 (patch)
tree3a7f59abd7b15edca83301e2ef3b5106b0435a45 /mundl-prufung/prufung.typ
parentece97801594754efbf6113dc893e54a05a4d82a2 (diff)
feat: template for muendliche Pruefung
Diffstat (limited to 'mundl-prufung/prufung.typ')
-rw-r--r--mundl-prufung/prufung.typ169
1 files changed, 37 insertions, 132 deletions
diff --git a/mundl-prufung/prufung.typ b/mundl-prufung/prufung.typ
index db8ce42..a661177 100644
--- a/mundl-prufung/prufung.typ
+++ b/mundl-prufung/prufung.typ
@@ -1,140 +1,45 @@
-#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 question(q, body) = [
- #grid(columns: 2, emoji.hand.write, box(inset: (top: 3pt))[*#q*])
-
- #body
-]
-#let input(width: 1fr, body) = box(width: width, height: 1em, inset: (bottom: 2pt), baseline: 2pt, stroke: (bottom: (dash: "loosely-dotted")),align(right, 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
- ])
+#import "lib.typ": prufung, kind
+
+#show: prufung.with(
+ 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?
],
- [],[
- #align(center)[Barcode:]
+ agreements: [
+ // Fanden vor der Prüfung Absprachen zu Form oder Inhalt statt? Wurden sie eingehalten?
],
- 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!
+ preparations: [
+ // Welche Tips zur Vorbereitung kannst Du geben?
],
- [
- #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)
+ examiner_behavior: [
+ // Wie war der Prüfungsstil des Prüfers / der Prüferin?
],
- [
- Dein Sudiengang: #input[]
-
- Prüfungsart:
- #let module_kind = (
- "Wahlpflicht",
- "Vertiefungsfach",
- "Ergänzungsfach",
- )
- #for kind in module_kind [
- \ #radiobox() #kind
- ]
-
- Welches? #input[]
+ examiner_recommendation: (none, [ // true, false
+ // Kannst du ihn / sie weiterempfehlen? Warum?
+ ]),
+ examinee_behavior: [
+ // Kannst Du Ratschläge Verhalten in der Prüfung geben?
],
- [
- #grid(columns: (auto, 1fr),
- [Prüfungsdatum:], input[],
- [Prüfer(in):], input[],
- [Beisitzer(in):], input[],
- )
- ])
-
- *Prüfungsfächer und Vorbereitung:*
- #table(columns: 4 * (1fr,), row-gutter: (2pt, ..(3*(0pt,))),
- table.header[Veranstaltung][Dozent(in)][Jahr][regelmäßig besucht?],
- ..range(4*4).map(it => [])
- )
- #v(1em)
- #grid(columns: 2 * (1fr,),[
- Note: #input[]
- ],[
- Prüfungsdauer:#input[] Minuten
- ])
-
- #v(1em)
- War diese Note angemessen? #input[]
-
- #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?
- ]
-
-], footer: [#h(1fr)$arrow.r.hook$ *Rückseite bitte nicht vergessen!*])
-
-#page()[
-
- // #grid(rows: (3 * (7.8cm,)), columns: 2 * (1fr,),
- #grid(rows: (3 * (22em,)), columns: 2 * (1fr,),
- question[
- Hat sich der Besuch / Nichtbesuch der Veran-
- staltung für dich gelohnt?
- ][],
- question[
- Kannst du ihn / sie weiterempfehlen? Warum? \ \
- ][
- $circle$ Ja \
- $circle$ Nein
- ],
- question[
- Wie lange und wie hast du dich alleine oder
- mit anderen auf die Prüfung vorbereitet?
- ][],
- question[
- Fanden vor der Prüfung Absprachen zu Form
- oder Inhalt statt? Wurden sie eingehalten?
- ][],
- question[
- Welche Tipps zur Vorbereitung kannst du ge- ben?
-
- ][
- Wichtige / unwichtige Teile des Stoffes, gute Bücher / Skrip-
- ten, Lernstil, ...
- ],
- question[
- Kannst du Ratschläge für das Verhalten in der
- Prüfung geben?
- ][]
- )
+)
- *Inhalte der Prüfung (bitte auf weitere Blätter):*
+// Schreibe bitte möglichst viele Fragen und Antworten auf.
+// Hier ist Platz für deinen Kommentar
- #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?
-]