Compare commits
2 commits
88a4cc128e
...
d7aa0164e3
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d7aa0164e3 | ||
![]() |
a81e16b3e7 |
|
@ -2,50 +2,58 @@
|
|||
#set text(lang: "de", size: 10.5pt)
|
||||
#set par(justify: true, leading: .5em, spacing: 0.5em)
|
||||
#set block(spacing: 0pt)
|
||||
#set table(inset: (top: 2pt, x: 8pt), stroke: .5pt)
|
||||
#set table(inset: (top: 2pt, bottom: 4pt, x: 8pt), stroke: .5pt)
|
||||
#set grid(inset: (y: 3pt, x: 6pt))
|
||||
#set grid.vline(stroke: .5pt)
|
||||
#let checkbox(b) = if (b) {$times.square$} else {$square$}
|
||||
#set linebreak(justify: true)
|
||||
#show underline: it => box(it)
|
||||
#let checkbox(checked: false) = if (checked) {$times.square$} else {$square$}
|
||||
#let input(width: 1fr, name: "", body) = box(width: width, inset: (bottom: 2pt), baseline: 2pt, stroke: (bottom: (dash: "dotted")),align(right, [#body #label(name)]))
|
||||
#let textarea(name: "", body) = [#body #label(name)]
|
||||
#show emoji.pencil: "✎"
|
||||
|
||||
#let pruefungsrahmen = (
|
||||
"Prüfungsdatum": [],
|
||||
"PrüferIn (Prof.)": [],
|
||||
"BeisitzerIn": [],
|
||||
)
|
||||
|
||||
#let modul = ""
|
||||
#let bestanden = none
|
||||
#let pruefungsdauer_minuten = 0
|
||||
|
||||
#grid(columns: (2cm, 15cm), align: bottom,
|
||||
box(inset: (x: 3pt), image(width: 1.3cm, "fsmi-logo.svg")),
|
||||
[
|
||||
box(inset: (x: 3pt), image(width: 1.3cm, "fsmi-logo.svg")),
|
||||
[
|
||||
#set text(size: 15pt)
|
||||
#set par(spacing: 3pt)
|
||||
Fragebogen der Fachschaft zu
|
||||
|
||||
*mündlichen Vordiplomsprüfungen* im Informatikstudium
|
||||
])
|
||||
#grid(columns: 2*(1fr,), grid.vline(x:1), [
|
||||
Dieser Fragebogen gibt den KommilitonInnen, die nach
|
||||
Dir die Prüfung ablegen wollen, einen Einblick in Ab-
|
||||
lauf und Inhalt der Prüfung. Das erleichtert die Vorbe-
|
||||
reitung.
|
||||
]
|
||||
)
|
||||
|
||||
Bitte verwende zum Ausfüllen einen schwarzen Stift.
|
||||
#grid(columns: 2*(1fr,), grid.vline(x:1),
|
||||
[
|
||||
Dieser Fragebogen gibt den KommilitonInnen, die nach
|
||||
Dir die Prüfung ablegen wollen, einen Einblick in Ab-
|
||||
lauf und Inhalt der Prüfung. Das erleichtert die Vorbe-
|
||||
reitung.
|
||||
|
||||
Das erleichtert das Einscannen.
|
||||
Bitte verwende zum Ausfüllen einen schwarzen Stift.
|
||||
|
||||
#for (key,value) in pruefungsrahmen {box(inset: (top: 1.2em), [*#key:*#box(width: 1fr, repeat[.])#value])}
|
||||
Das erleichtert das Einscannen.
|
||||
|
||||
],
|
||||
[
|
||||
#block(width: 7cm, inset: .3cm, align(center, [
|
||||
Barcode:
|
||||
#grid(
|
||||
#box(height: 2em, align(bottom)[
|
||||
*Prüfungsdatum:*#input(name: "date")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
])
|
||||
#box(height: 2em, align(bottom)[
|
||||
*PrüferIn (Prof.):*#input(name: "examiner")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
])
|
||||
#box(height: 2em, align(bottom)[
|
||||
*BeisitzerIn:*#input(name: "assistant")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
])
|
||||
],
|
||||
[
|
||||
#block(width: 7cm, inset: (top: 1.5em, bottom: .3cm, rest: .2cm), align(center,
|
||||
[
|
||||
Barcode: #v(2pt)
|
||||
#grid(
|
||||
columns: (.1cm, 7.8cm, .1cm),
|
||||
rows: (.1cm, 2.5cm, .1cm),
|
||||
stroke: (x,y) => (:
|
||||
|
@ -53,72 +61,98 @@ Das erleichtert das Einscannen.
|
|||
bottom: if (x != 1 and y == 2) {.5pt},
|
||||
left: if (y != 1 and x == 0) {.5pt},
|
||||
right: if (y != 1 and x == 2) {.5pt},
|
||||
))
|
||||
]))
|
||||
*Fach:* \
|
||||
#let modules = (
|
||||
"Algo I",
|
||||
"Algo II",
|
||||
"Betriebssysteme",
|
||||
"GdI",
|
||||
"HM",
|
||||
"KomDat",
|
||||
"Programmierparadigmen",
|
||||
"SWT I",
|
||||
"Theoretische Grundlagen der Informatik",
|
||||
"TI",
|
||||
)
|
||||
#for (module) in modules {box(inset: (right: 5pt))[#checkbox(false) #module]}
|
||||
])
|
||||
#table(columns: (7.4cm,2.4cm,8.2cm),
|
||||
table.header(
|
||||
[Veranstaltung ],[Jahr],[regelmäßig besucht?]),
|
||||
[*Vorlesung*#v(.2cm)],[ ],[ ],
|
||||
[*Übung* #v(.2cm)],[ ],[ ],
|
||||
[*Tutorium* #v(.2cm)],[ ],[ ],
|
||||
))
|
||||
]))
|
||||
*Fach:* \
|
||||
#set box(height: .5em, inset: (left: 5pt))
|
||||
#textarea(name: "lecture", {
|
||||
// box[#checkbox(checked: true) Dein Fach]
|
||||
box[#checkbox() Algo I]
|
||||
box[#checkbox() Algo II]
|
||||
box[#checkbox() Betriebssysteme]
|
||||
box[#checkbox() GdI]
|
||||
box[#checkbox() HM]
|
||||
box[#checkbox() KomDat]
|
||||
box[#checkbox() Programmierparadigmen]
|
||||
box[#checkbox() SWT I]
|
||||
box[#checkbox() Theoretische Grundlagen der Informatik]
|
||||
box[#checkbox() TI]
|
||||
})
|
||||
]
|
||||
)
|
||||
|
||||
#grid(columns: 2*(1fr,), grid.vline(x:1), inset: (y: .5cm),
|
||||
[*Bestanden? #checkbox(bestanden == true) Ja / #checkbox(bestanden == false) Nein*],
|
||||
#table(columns: (7.4cm,2.4cm,8.2cm), table.header(
|
||||
[Veranstaltung ],[Jahr],[regelmäßig besucht?]),
|
||||
[Vorlesung ],[ ],[ ],
|
||||
[Übung ],[ ],[ ],
|
||||
[Tutorium ],[ ],[ ],
|
||||
) <attendance>
|
||||
|
||||
#grid(columns: 2*(1fr,), inset: (y: .5cm), grid.vline(x:1),
|
||||
textarea(name: "did_pass")[
|
||||
*Bestanden?
|
||||
#checkbox(checked: false) Ja /
|
||||
#checkbox(checked: false) Nein*
|
||||
],
|
||||
box(width: 6cm)[
|
||||
*Prüfungsdauer: #box(width: 1fr, repeat[.])
|
||||
#if (pruefungsdauer_minuten > 0) {pruefungsdauer_minuten}
|
||||
*Prüfungsdauer: #input(name: "exam_duration")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
Minuten*
|
||||
])
|
||||
]
|
||||
)
|
||||
#grid(columns: 2*(1fr,), rows: (3.5cm,2.8cm,7.3cm), grid.vline(x:1),
|
||||
[
|
||||
#emoji.pencil Wie lange und wie hast Du Dich
|
||||
[
|
||||
#emoji.pencil Wie lange und wie hast Du Dich \
|
||||
#underline[alleine bzw. mit anderen vorbereitet]?
|
||||
],
|
||||
grid.cell(rowspan: 2)[
|
||||
#textarea(name: "preparation_time")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
],
|
||||
grid.cell(rowspan: 2)[
|
||||
#emoji.pencil Welche #underline[Tips zur Vorbereitung] kannst Du geben? \
|
||||
#text(size: 8.5pt)[(Wichtige / Unwichtige Teile des Stoffes, gute Bücher / Skripten, Lernstil)]
|
||||
],
|
||||
[
|
||||
#textarea(name: "preparations")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
],
|
||||
[
|
||||
#emoji.pencil Fanden vor der Prüfung #underline[Absprachen] zu Form oder
|
||||
Inhalt statt? Wurden sie #underline[eingehalten]?
|
||||
],
|
||||
[
|
||||
#emoji.pencil Kannst Du Ratschläge für das #underline[Verhalten in der Prüfung] geben?
|
||||
],
|
||||
[
|
||||
#textarea(name: "agreements")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
],
|
||||
[
|
||||
#emoji.pencil Kannst Du Ratschläge für das \ #underline[Verhalten in der Prüfung] geben?
|
||||
#textarea(name: "examinee_behavior")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
],
|
||||
[
|
||||
#emoji.pencil Wie war der #underline[Prüfungsstil des Prüfers / der Prüferin?] \
|
||||
#text(size: 8.5pt)[(Prüfungsathmosphäre, (un)klare Fragestellungen, Fragen nach \
|
||||
Einzelheiten oder eher größeren Zusammenhängen, kamen häufiger Zwischenfragen
|
||||
oder ließ er/sie Dich erzählen, wurde Dir weitergeholfen, wurde in Wissenslücken
|
||||
gebohrt?)]
|
||||
]
|
||||
#text(size: 8.5pt)[
|
||||
(Prüfungsathmosphäre, (un)klare Fragestellungen, Fragen nach \
|
||||
Einzelheiten oder eher größeren Zusammenhängen, kamen häufiger
|
||||
Zwischenfragen oder ließ er/sie Dich erzählen, wurde Dir weitergeholfen,
|
||||
wurde in Wissenslücken gebohrt?)
|
||||
]
|
||||
#textarea(name: "examiner_behavior")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
]
|
||||
)
|
||||
#line(length: 100%, stroke: .5pt)
|
||||
#v(2pt)
|
||||
#[
|
||||
#text(size: 13pt)[*Inhalte der Prüfung:*] $-->$ Bitte auf die Rückseite und weitere Blätter!
|
||||
#v(1.2em)
|
||||
#text(size: 13pt)[*Inhalte der Prüfung:*] $-->$ Bitte auf die Rückseite und weitere Blätter!
|
||||
#v(1.2em)
|
||||
|
||||
#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?
|
||||
]
|
||||
#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?
|
||||
|
||||
#colbreak()
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
|
||||
|
|
|
@ -32,80 +32,7 @@
|
|||
],
|
||||
doc
|
||||
) = [
|
||||
#set page("a4", margin: (top: 1cm, bottom: 0cm, rest: 1.55cm))
|
||||
#set text(lang: "de", size: 10.5pt)
|
||||
#page[
|
||||
#set par(justify: true, leading: .5em, spacing: 0.5em)
|
||||
#set block(spacing: 0pt)
|
||||
#set table(inset: (top: 2pt, bottom: 4pt, x: 8pt), stroke: .5pt)
|
||||
#set grid(inset: (y: 3pt, x: 6pt))
|
||||
#set grid.vline(stroke: .5pt)
|
||||
#set linebreak(justify: true)
|
||||
#let checkbox(b) = if (b) {$times.square$} else {$square$}
|
||||
#let input(width: 1fr, body) = box(width: width, inset: (bottom: 2pt), baseline: 2pt, stroke: (bottom: (dash: "dotted")),align(right, body))
|
||||
#show emoji.pencil: "✎"
|
||||
|
||||
#grid(columns: (2cm, 15cm), align: bottom,
|
||||
box(inset: (x: 3pt), image(width: 1.3cm, "fsmi-logo.svg")),
|
||||
[
|
||||
#set text(size: 15pt)
|
||||
#set par(spacing: 3pt)
|
||||
Fragebogen der Fachschaft zu
|
||||
|
||||
*mündlichen Vordiplomsprüfungen* im Informatikstudium
|
||||
])
|
||||
#grid(columns: 2*(1fr,), grid.vline(x:1), [
|
||||
Dieser Fragebogen gibt den KommilitonInnen, die nach
|
||||
Dir die Prüfung ablegen wollen, einen Einblick in Ab-
|
||||
lauf und Inhalt der Prüfung. Das erleichtert die Vorbe-
|
||||
reitung.
|
||||
|
||||
Bitte verwende zum Ausfüllen einen schwarzen Stift.
|
||||
|
||||
Das erleichtert das Einscannen.
|
||||
|
||||
#let pruefungsrahmen = (
|
||||
"Prüfungsdatum": if date.year() > 0 {date.display("[day].[month].[year]")},
|
||||
"PrüferIn (Prof.)": examiner,
|
||||
"BeisitzerIn": assistant,
|
||||
)
|
||||
#for (key,value) in pruefungsrahmen {
|
||||
box(height: 2em, align(bottom)[*#key:*#input(value)])
|
||||
}
|
||||
|
||||
],
|
||||
[
|
||||
#block(width: 7cm, inset: (top: 1.5em, bottom: .3cm, rest: .2cm), align(center,
|
||||
[
|
||||
Barcode: #v(2pt)
|
||||
#grid(
|
||||
columns: (.1cm, 7.8cm, .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},
|
||||
))
|
||||
]))
|
||||
*Fach:* \
|
||||
#v(-2pt)
|
||||
#let modules = if lecture.len() > 0 {(lecture,)} else {(
|
||||
"Algo I",
|
||||
"Algo II",
|
||||
"Betriebssysteme",
|
||||
"GdI",
|
||||
"HM",
|
||||
"KomDat",
|
||||
"Programmierparadigmen",
|
||||
"SWT I",
|
||||
"Theoretische Grundlagen der Informatik",
|
||||
"TI",
|
||||
)}
|
||||
#for module in modules.flatten() {
|
||||
box(height: .5em, inset: (left: 5pt))[#checkbox(lecture.len() > 0) #module]
|
||||
}
|
||||
])
|
||||
#let checkbox(checked: false) = if (checked) {$times.square$} else {$square$}
|
||||
|
||||
#let events = (
|
||||
"Vorlesung": (year: "", did_attend: ""),
|
||||
|
@ -113,61 +40,37 @@
|
|||
"Tutorium": (year: "", did_attend: ""),
|
||||
..attendance
|
||||
)
|
||||
#table(columns: (7.4cm,2.4cm,8.2cm),
|
||||
table.header(
|
||||
[Veranstaltung ],[Jahr],[regelmäßig besucht?]),
|
||||
|
||||
#show <date>: if date.year() > 0 {date.display("[day].[month].[year]")}
|
||||
#show <examiner>: examiner
|
||||
#show <assistant>: assistant
|
||||
#show <exam_duration>: if exam_duration.minutes() > 0 [#exam_duration.minutes()]
|
||||
#show <preparation_time>: preparation_time
|
||||
#show <agreements>: agreements
|
||||
#show <preparations>: preparations
|
||||
#show <examinee_behavior>: examinee_behavior
|
||||
#show <examiner_behavior>: examiner_behavior
|
||||
#show <did_pass>: [
|
||||
*Bestanden?
|
||||
#checkbox(checked: did_pass == true) Ja /
|
||||
#checkbox(checked: did_pass == false) Nein*
|
||||
]
|
||||
#show <lecture>: it => if lecture.len() > 0 {
|
||||
box[#checkbox(checked: true) #lecture]
|
||||
} else {it}
|
||||
#show <attendance>: it => {
|
||||
let g = it.fields()
|
||||
let _ = g.remove("children")
|
||||
let _ = g.remove("label")
|
||||
table(..g,
|
||||
..it.fields().children.at(0).children,
|
||||
..events.pairs().map(((location, (year, did_attend))) =>
|
||||
(box(height: 1.2em)[*#location*], [#year], [#did_attend])
|
||||
).flatten()
|
||||
(box(height: 1.2em)[*#location*], [#year], [#did_attend])).flatten()
|
||||
)
|
||||
}
|
||||
|
||||
#grid(columns: 2*(1fr,), grid.vline(x:1), inset: (y: .5cm),
|
||||
[*Bestanden? #checkbox(did_pass == true) Ja / #checkbox(did_pass == false) Nein*],
|
||||
box(width: 6cm)[
|
||||
*Prüfungsdauer: #input[
|
||||
#if (exam_duration.minutes() > 0) {exam_duration.minutes()}
|
||||
]
|
||||
Minuten*
|
||||
])
|
||||
#grid(columns: 2*(1fr,), rows: (3.5cm,2.8cm,7.3cm), grid.vline(x:1),
|
||||
[
|
||||
#emoji.pencil Wie lange und wie hast Du Dich \
|
||||
#underline[alleine bzw. mit anderen vorbereitet]?
|
||||
#preparation_time
|
||||
],
|
||||
grid.cell(rowspan: 2)[
|
||||
#emoji.pencil Welche #underline[Tips zur Vorbereitung] kannst Du geben? \
|
||||
#text(size: 8.5pt)[(Wichtige / Unwichtige Teile des Stoffes, gute Bücher / Skripten, Lernstil)]
|
||||
#preparations
|
||||
],
|
||||
[
|
||||
#emoji.pencil Fanden vor der Prüfung #underline[Absprachen] zu Form oder
|
||||
Inhalt statt? Wurden sie #underline[eingehalten]?
|
||||
#agreements
|
||||
],
|
||||
[
|
||||
#emoji.pencil Kannst Du Ratschläge für das \ #underline[Verhalten in der Prüfung] geben?
|
||||
#examinee_behavior
|
||||
],
|
||||
[
|
||||
#emoji.pencil Wie war der #underline[Prüfungsstil des Prüfers / der Prüferin?] \
|
||||
#text(size: 8.5pt)[(Prüfungsathmosphäre, (un)klare Fragestellungen, Fragen nach \
|
||||
Einzelheiten oder eher größeren Zusammenhängen, kamen häufiger Zwischenfragen
|
||||
oder ließ er/sie Dich erzählen, wurde Dir weitergeholfen, wurde in Wissenslücken
|
||||
gebohrt?)]
|
||||
#examiner_behavior
|
||||
])
|
||||
#line(length: 100%, stroke: .5pt)
|
||||
#v(2pt)
|
||||
#text(size: 13pt)[*Inhalte der Prüfung:*] $-->$ Bitte auf die Rückseite und weitere Blätter!
|
||||
#v(1.2em)
|
||||
#include "bachelor.typ"
|
||||
|
||||
#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
|
||||
]
|
||||
|
||||
|
|
180
muendliche-pruefung/bachelor.typ
Normal file
180
muendliche-pruefung/bachelor.typ
Normal file
|
@ -0,0 +1,180 @@
|
|||
#set page("a4", margin: 1.1cm, footer: context if counter(page).get() == (1,) [#h(1fr)$arrow.r.hook$ *Rückseite bitte nicht vergessen!*])
|
||||
#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%)[🖎])
|
||||
#let radiobox(checked: false) = if checked {$circle.filled$} else {$circle$}
|
||||
#let input(width: 1fr, name: "", body) = box(width: width, height: 1em, inset: (bottom: 2pt), baseline: 2pt, stroke: (bottom: (dash: "loosely-dotted")),align(right, [#body #label(name)]))
|
||||
#let question(name: "", question, body) = [
|
||||
#grid(columns: 2, inset: 0pt, emoji.hand.write, box(inset: (top: 3pt))[*#question*])
|
||||
|
||||
#body #label(name)
|
||||
]
|
||||
|
||||
#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(name: "study")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
|
||||
Prüfungsart: \
|
||||
#[
|
||||
#radiobox(checked: false) Wahlpflicht \
|
||||
#radiobox(checked: false) Vertiefungsfach \
|
||||
#radiobox(checked: false) Ergänzungsfach \
|
||||
] <kind>
|
||||
|
||||
Welches? #input(name: "lecture")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
],
|
||||
[
|
||||
#grid(columns: (auto, 1fr),
|
||||
[Prüfungsdatum:],
|
||||
input(name: "date")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
[Prüfer(in):],
|
||||
input(name: "examiner")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
[Beisitzer(in):],
|
||||
input(name: "assistant")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
)
|
||||
],
|
||||
)
|
||||
|
||||
*Prüfungsfächer und Vorbereitung:*
|
||||
|
||||
#table(columns: 4 * (1fr,), row-gutter: (2pt, ..(3*(0pt,))), rows: 2em, align: horizon,
|
||||
table.header(
|
||||
[Veranstaltung],[Dozent(in)],[Jahr],[regelmäßig besucht?]),
|
||||
[ ],[ ],[ ],[ ],
|
||||
[ ],[ ],[ ],[ ],
|
||||
[ ],[ ],[ ],[ ],
|
||||
[ ],[ ],[ ],[ ],
|
||||
) <attendance>
|
||||
|
||||
#v(1em)
|
||||
#grid(columns: 2 * (1fr,),
|
||||
[
|
||||
Note:
|
||||
#input(name: "grade_received")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
],
|
||||
[
|
||||
Prüfungsdauer:
|
||||
#input(name: "exam_duration")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
] Minuten
|
||||
],
|
||||
)
|
||||
|
||||
#v(1em)
|
||||
War diese Note angemessen?
|
||||
#input(name: "grade_reasonable")[
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
|
||||
#v(1em)
|
||||
#question(name: "examiner_behavior")[
|
||||
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?
|
||||
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
]
|
||||
|
||||
#pagebreak()
|
||||
|
||||
#grid(rows: (3 * (22em,)), columns: 2 * (1fr,),
|
||||
question(name: "attendance_worth")[
|
||||
Hat sich der Besuch / Nichtbesuch der Veran- staltung für dich gelohnt?
|
||||
][
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
question(name: "examiner_recommendations")[
|
||||
Kannst du ihn / sie weiterempfehlen? Warum?
|
||||
][
|
||||
#radiobox(checked: false) Ja \
|
||||
#radiobox(checked: false) Nein
|
||||
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
question(name: "preparation_time")[
|
||||
Wie lange und wie hast du dich alleine oder mit anderen auf die Prüfung vorbereitet?
|
||||
][
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
question(name: "agreements")[
|
||||
Fanden vor der Prüfung Absprachen zu Form oder Inhalt statt? Wurden sie eingehalten?
|
||||
][
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
question(name: "preparations")[
|
||||
Welche Tipps zur Vorbereitung kannst du ge-\ ben?
|
||||
][
|
||||
Wichtige / unwichtige Teile des Stoffes, gute Bücher / Skrip- ten, Lernstil, ...
|
||||
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
question(name: "examinee_behavior")[
|
||||
Kannst du Ratschläge für das Verhalten in der Prüfung geben?
|
||||
][
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
],
|
||||
)
|
||||
|
||||
*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?
|
||||
]
|
||||
|
||||
#colbreak()
|
||||
|
||||
// Hier ist Platz für deinen Kommentar.
|
||||
|
|
@ -2,17 +2,17 @@
|
|||
//
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
#let kind = (:
|
||||
"wahlpflicht": "Wahlpflicht",
|
||||
"vertiefungsfach": "Vertiefungsfach",
|
||||
"ergaenzungsfach": "Ergänzungsfach",
|
||||
"none": ""
|
||||
#let KIND = (:
|
||||
"WAHLPFLICHT": "Wahlpflicht",
|
||||
"VERTIEFUNGSFACH": "Vertiefungsfach",
|
||||
"ERGAENZUNGSFACH": "Ergänzungsfach",
|
||||
"NONE": ""
|
||||
)
|
||||
|
||||
#let oral-exam(
|
||||
study: "", // Studiengang
|
||||
lecture: "", // Fach
|
||||
kind: kind.none, // Prüfungsart (Wahlpflicht, Vertiefungsfach, Ergänzungsfach)
|
||||
kind: KIND.NONE, // Prüfungsart KIND.{WAHLPFLICHT, VERTIEFUNGSFACH, ERGUENZUNGSFACH}
|
||||
date: datetime(year: 0, month: 1, day: 1), // Prüfungsdatum
|
||||
examiner: "", // PrüferIn (Prof)
|
||||
assistant: "", // BeisitzerIn
|
||||
|
@ -41,7 +41,7 @@
|
|||
examiner_behavior: [
|
||||
// Wie war der Prüfungsstil des Prüfers / der Prüferin?
|
||||
],
|
||||
examiner_recommendation: (none, [
|
||||
examiner_recommendation: (none, [ // true, false
|
||||
// Kannst du ihn / sie weiterempfehlen? Warum?
|
||||
]),
|
||||
examinee_behavior: [
|
||||
|
@ -49,155 +49,50 @@
|
|||
],
|
||||
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
|
||||
#show <study>: study
|
||||
#show <lecture>: lecture
|
||||
#show <date>: if date.year() > 0 {date.display("[day].[month].[year]")}
|
||||
#show <examiner>: examiner
|
||||
#show <assistant>: assistant
|
||||
#show <grade_received>: if grade_received > 0.0 {str(grade_received+0.01).slice(0,3).replace(".",",")}
|
||||
#show <grade_reasonable>: grade_reasonable
|
||||
#show <exam_duration>: if exam_duration.minutes() > 0 [#exam_duration.minutes()]
|
||||
#show <attendance_worth>: attendance_worth
|
||||
#show <preparation_time>: preparation_time
|
||||
#show <agreements>: agreements
|
||||
#show <preparations>: it => [#it #preparations]
|
||||
#show <examiner_behavior>: examiner_behavior
|
||||
#show <examinee_behavior>: it => [#it #examinee_behavior]
|
||||
#show <kind>: {
|
||||
for exam_kind in KIND.values().filter(it => it != KIND.NONE) [
|
||||
#radiobox(checked: kind == exam_kind) #exam_kind \
|
||||
]
|
||||
|
||||
#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
|
||||
}
|
||||
#show <examiner_recommendations>: [
|
||||
#let can_recommend = examiner_recommendation.at(0)
|
||||
#radiobox(checked: can_recommend == true) Ja \
|
||||
#radiobox(checked: can_recommend == 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?
|
||||
]
|
||||
#show <attendance>: it => {
|
||||
let g = it.fields()
|
||||
let _ = g.remove("children")
|
||||
let _ = g.remove("label")
|
||||
let events = attendance.map(((lecture, lecturer, year, did_attend)) =>
|
||||
(lecture, lecturer, year, did_attend)
|
||||
).flatten()
|
||||
|
||||
table(..g,
|
||||
..it.fields().children.at(0).children,
|
||||
..(events + 4*4*([],)).slice(0,4*4)
|
||||
)
|
||||
}
|
||||
|
||||
#include "bachelor.typ"
|
||||
|
||||
#doc
|
||||
]
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#import "lib.typ": oral-exam, kind
|
||||
#import "lib.typ": oral-exam, KIND
|
||||
|
||||
#show: oral-exam.with(
|
||||
study: "", // Studiengang
|
||||
lecture: "", // Fach
|
||||
kind: kind.none, // Prüfungsart (Wahlpflicht, Vertiefungsfach, Ergänzungsfach)
|
||||
kind: KIND.NONE, // Prüfungsart KIND.{WAHLPFLICHT, VERTIEFUNGSFACH, ERGUENZUNGSFACH}
|
||||
date: datetime(year: 0, month: 1, day: 1), // Prüfungsdatum
|
||||
examiner: "", // PrüferIn (Prof)
|
||||
assistant: "", // BeisitzerIn
|
||||
|
|
Loading…
Reference in a new issue