1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
#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
]
|