Skip to content

Commit 09509bb

Browse files
authored
tooling: shift headings (use h1 as top-level headings) (#993)
to simplify the tooling use H1 as the top outline level (and slide level) in all documents ... see cagix/pandoc-lecture-zen#27 closes #992
1 parent a21988b commit 09509bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+820
-822
lines changed

admin/exams.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Prüfungsvorbereitung"
33
author: "Carsten Gips (HSBI)"
44
tldr: |
5-
### Durchführung: Präsenz oder Open-Book (je nach Corona-Lage)
5+
**Durchführung: Präsenz oder Open-Book (je nach Corona-Lage)**
66
77
Die Klausur wird dieses Semester elektronisch stattfinden. Dazu werden wir den Prüfungs-ILIAS der
88
HSBI nutzen.
@@ -22,13 +22,13 @@ tldr: |
2222
Die Entscheidung über die konkrete Durchführung wird spätestens zwei Wochen vor der Prüfung getroffen
2323
und Ihnen per EMail über das LSF mitgeteilt.
2424
25-
### Ablauf der Klausur
25+
**Ablauf der Klausur**
2626
2727
Die Prüfung (das ILIAS-Objekt) selbst schalte ich erst zum Start der Prüfung online. Bei der Durchführung
2828
als Open-Book-Ausarbeitung wird parallel zur Prüfung eine Zoom-Sitzung laufen, in der Sie Fragen stellen
2929
können.
3030
31-
### Hilfsmittel und Themen
31+
**Hilfsmittel und Themen**
3232
3333
Bei der Durchführung in Präsenz am Campus Minden ist ein Spickzettel (DIN A4, beidseitig beschrieben)
3434
als Hilfsmittel zugelassen.
@@ -56,9 +56,9 @@ attachments:
5656
---
5757

5858

59-
## Elektronische Klausur: Termin, Materialien
59+
# Elektronische Klausur: Termin, Materialien
6060

61-
### Termin
61+
## Termin
6262

6363
Die schriftliche Prüfung erfolgt durch eine Klausur, die als digitale Prüfung auf einem
6464
Prüfungs-ILIAS durchgeführt wird.
@@ -75,7 +75,7 @@ Dauer jeweils 90 Minuten.
7575
* Die konkrete Durchführungsform [(in Präsenz am Campus Minden oder im Home-Office)]{.notes}
7676
wird Ihnen [spätestens]{.notes} zwei Wochen vor der Prüfung über das LSF bekanntgegeben
7777

78-
### Zugelassene Hilfsmittel
78+
## Zugelassene Hilfsmittel
7979

8080
::: {.details title="Präsenz (in Minden)"}
8181

@@ -102,12 +102,12 @@ Sie alle Unterlagen benutzen.
102102

103103
:::
104104

105-
### Einsicht
105+
## Einsicht
106106

107107
* Prüfungseinsicht: Zeitnah; Bekanntgabe per Mail
108108

109109

110-
## Technische Vorbereitungen
110+
# Technische Vorbereitungen
111111

112112
::: {.details title="Präsenz (in Minden)"}
113113

@@ -175,7 +175,7 @@ für Sie vorbereitet sein.
175175
:::
176176

177177

178-
## Bearbeitung des E-Assessment
178+
# Bearbeitung des E-Assessment
179179

180180
1. Lesen Sie sich die Hinweise auf der Startseite durch
181181

@@ -207,7 +207,7 @@ für Sie vorbereitet sein.
207207
Täuschungsversuch gewertet werden, vgl. RPO §22a (4))]{.notes}
208208

209209

210-
## Fragetypen-Demo
210+
# Fragetypen-Demo
211211

212212
In Ihrem ILIAS-Kurs finden Sie eine
213213
[**Fragetypen-Demo**](https://www.hsbi.de/elearning/goto.php?target=tst_1352273&client_id=FH-Bielefeld)
@@ -216,7 +216,7 @@ Sie sich die Kommentare bei den einzelnen Aufgaben an. Sie können die Demo bei
216216
wiederholen.
217217

218218

219-
## Hinweise zu den Inhalten
219+
# Hinweise zu den Inhalten
220220

221221
* Klausurrelevant: Vorlesung und Praktikum
222222
* Für Verständnis u.U. hilfreich: Studium der vertiefenden Literaturangaben
@@ -234,9 +234,9 @@ wiederholen.
234234
:::
235235

236236

237-
## Beispiele für mögliche Fragen
237+
# Beispiele für mögliche Fragen
238238

239-
### Vererbung und Polymorphie
239+
## Vererbung und Polymorphie
240240

241241
Betrachten Sie den folgenden Java-Code:
242242

@@ -261,7 +261,7 @@ Geben Sie alle Ausgaben, die das obige Programm produziert, an.
261261
Begründen Sie Ihre Antwort kurz und stichhaltig (für *jede* Ausgabe!).
262262
Was geschieht, bzw. wieso kommt es zu der jeweiligen Ausgabe?
263263

264-
### Multithreading und Synchronisierung
264+
## Multithreading und Synchronisierung
265265

266266
```java
267267
public class StaffelKaputt extends Thread {
@@ -289,12 +289,12 @@ Welche Ausgabe erwarten Sie (angenommen, das Programm wäre fehlerfrei; eine
289289
mögliche Variante reicht)? Welche Ausgabe erhalten Sie stattdessen? Korrigieren
290290
Sie den Fehler.
291291

292-
### Reguläre Ausdrücke
292+
## Reguläre Ausdrücke
293293

294294
Auf welche Strings passt (im Sinne von "match") der folgende reguläre
295295
Ausdruck: `\s*([a-zA-Z0-9_.\-]+)\s*=\s*(-?\d+\.?\d*)\s;?\s*`
296296

297-
### Versionieren mit Git
297+
## Versionieren mit Git
298298

299299
* Erklären Sie, wie man mit Git die Unterschiede zwischen zwei
300300
bestimmten Versionsständen einer Datei herausfindet.
@@ -316,7 +316,7 @@ Ausdruck: `\s*([a-zA-Z0-9_.\-]+)\s*=\s*(-?\d+\.?\d*)\s;?\s*`
316316

317317
* Was würde `git diff` jeweils nach Schritt 2 anzeigen?
318318

319-
### Kommandozeilenparameter
319+
## Kommandozeilenparameter
320320

321321
Schreiben Sie ein Programm, welches auf zwei Kommandozeilenparameter reagieren
322322
kann. Die erkannten Parameter sollen auf der Konsole ausgegeben werden. Nutzen
@@ -330,7 +330,7 @@ Sie Apache Commons CLI (API siehe Anhang).
330330
* Die Parameter können in unterschiedlicher Reihenfolge auftreten.
331331
* Es kann auch nur ein Parameter angegeben werden.
332332

333-
### Build mit Ant
333+
## Build mit Ant
334334

335335
* Was ist der Unterschied zwischen Ant-Targets und Ant-Tasks?
336336
* Wie kann man Ant-Properties von außen (beim Aufruf) setzen?
@@ -342,7 +342,7 @@ Sie Apache Commons CLI (API siehe Anhang).
342342
* Schreiben Sie Ant-Targets, mit denen Sie JUnit-Testfälle ausführen und
343343
auswerten können.
344344

345-
### Generics
345+
## Generics
346346

347347
Was kommt hier raus? Und warum?
348348

@@ -363,7 +363,7 @@ public class X {
363363
}
364364
```
365365

366-
### Logging
366+
## Logging
367367

368368
Erklären Sie den Code. Was passiert?
369369

@@ -391,7 +391,7 @@ public class MoreLogging {
391391
}
392392
```
393393

394-
### Methodenreferenzen
394+
## Methodenreferenzen
395395

396396
* Was bedeutet der folgende Code?
397397

homework/b01.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ der LV "Programmieren 1".*
1313

1414
Implementieren Sie in Java das Spiel [Hangman].
1515

16-
## A01.1: Installation JDK und IDE, Deaktivierung AI-Support
16+
# A01.1: Installation JDK und IDE, Deaktivierung AI-Support
1717

1818
Sie benötigen für die Bearbeitung der Übungsaufgaben ein *Java Development Kit* (JDK). Wir
1919
verwenden in der Lehrveranstaltung "Programmieren 2" aus verschiedenen Gründen die *Long-Term
@@ -34,7 +34,7 @@ sämtliche KI-Unterstützung wie beispielsweise Copilot, JetBrains AI Assistant,
3434
CodeGPT, Codeium, Tabnine, Windsurf, ... (Liste nicht vollständig) für die Bearbeitung der
3535
Übungsaufgaben in dieser Lehrveranstaltung ab.
3636

37-
## A01.2: Anlegen eines Java-Projektes
37+
# A01.2: Anlegen eines Java-Projektes
3838

3939
Legen Sie für die Bearbeitung der Aufgabe ein neues Java-Projekt in Ihrer IDE an. Achten Sie
4040
bitte darauf, dass im Projektpfad **keine Leerzeichen** und **keine Sonderzeichen** (Umlaute
@@ -56,7 +56,7 @@ Testen Sie bitte die genutzte Java-Version:
5656

5757
Korrigieren Sie Ihr Setup, wenn Sie andere Ausgaben erhalten.
5858

59-
## A01.3: Übersetzen und Starten und Debuggen von Programmen
59+
# A01.3: Übersetzen und Starten und Debuggen von Programmen
6060

6161
Erstellen Sie in Ihrem neuen Projekt die folgende Klasse:
6262

@@ -81,7 +81,7 @@ Starten Sie das obige Programm im Debug-Modus Ihrer IDE. Halten Sie die Ausführ
8181
die nächste Anweisung (das `System.out.println`) aus. Wie beenden Sie das Programm?
8282
Demonstrieren Sie das live im Praktikum.
8383

84-
## A01.4: Swing und Java2D
84+
# A01.4: Swing und Java2D
8585

8686
Das Spiel soll vollständig über eine in Swing und Java2D realisierte GUI bedient werden:
8787

@@ -91,7 +91,7 @@ Das Spiel soll vollständig über eine in Swing und Java2D realisierte GUI bedie
9191
4. Die bisher eingegebenen Buchstaben sollen in der Reihenfolge der Eingabe angezeigt werden.
9292
5. Das Spiel soll per Knopfdruck abgebrochen und neu gestartet werden können.
9393

94-
## A01.5: Einlesen von Textdateien
94+
# A01.5: Einlesen von Textdateien
9595

9696
Es soll die Möglichkeit geben, eine Textdatei mit zu ratenden Wörtern einzulesen:
9797

@@ -105,11 +105,11 @@ Es soll die Möglichkeit geben, eine Textdatei mit zu ratenden Wörtern einzules
105105
6. Es soll für jedes neue Spiel ein zufälliges Wort aus der Menge der eingelesenen Wörter zum
106106
Raten ausgewählt werden.
107107

108-
## A01.6: Dokumentation
108+
# A01.6: Dokumentation
109109

110110
Erstellen Sie ein UML-Klassendiagramm für Ihre Lösung.
111111

112-
## A01.7: Fortgeschrittenere Aufgaben
112+
# A01.7: Fortgeschrittenere Aufgaben
113113

114114
1. Heben Sie in der Anzeige der eingegebenen Buchstaben die korrekt geratenen Buchstaben in
115115
grüner Farbe hervor.

homework/b02.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ attachments:
88

99
<!-- pandoc -s -f markdown -t markdown+smart-grid_tables-multiline_tables-simple_tables --columns=94 --reference-links=true b02.md -o xxx.md -->
1010

11-
## Git
11+
# Git
1212

13-
### A02.1: Git Status erklären
13+
## A02.1: Git Status erklären
1414

1515
Betrachten Sie die folgende Ausgabe von `git status` in einer lokalen Workingcopy
1616
(*Arbeitskopie*):
@@ -35,7 +35,7 @@ Erklären Sie die Ausgabe.
3535
Geben Sie eine Befehlssequenz an, mit der Sie nur die Änderungen in `foo.java` committen
3636
können.
3737

38-
### A02.2: Git-Spiel
38+
## A02.2: Git-Spiel
3939

4040
Klonen Sie die [Vorgaben "Git-Quest"]. Sie finden die Geschichte des Helden Markus im
4141
Dungeon.[^1]
@@ -71,7 +71,7 @@ Dungeon.[^1]
7171

7272
Demonstrieren Sie Ihr Vorgehen im Praktikum jeweils live.
7373

74-
### A02.3: Commit-Meldungen
74+
## A02.3: Commit-Meldungen
7575

7676
Gute Commit-Meldungen schreiben erfordert Übung. Schauen Sie sich die beiden Commits
7777
[Dungeon-CampusMinden/Dungeon/commit/46530b6] und
@@ -80,7 +80,7 @@ Gute Commit-Meldungen schreiben erfordert Übung. Schauen Sie sich die beiden Co
8080
Diskutieren Sie jeweils, was Ihnen an den Commits auffällt: Was gefällt Ihnen, was stört Sie?
8181
Schlagen Sie Verbesserungen vor.
8282

83-
## A02.4: Gradle
83+
# A02.4: Gradle
8484

8585
Folgen Sie der Anleitung auf [gradle.org] und installieren Sie Gradle auf Ihrem Rechner. Legen
8686
Sie in der Konsole ein neues Gradle-Projekt für eine Java-Applikation an (ohne IDE!). Das
@@ -98,7 +98,7 @@ Aufgaben diese Abschnitte jeweils erfüllen. Gehen Sie dabei im *Detail* auf das
9898
Machen Sie sich Notizen, welche Sie im Praktikum nutzen dürfen, um dort das Buildskript zu
9999
erklären.
100100

101-
## A02.5: Calculator: Anonyme Klassen und Lambda-Ausdrücke
101+
# A02.5: Calculator: Anonyme Klassen und Lambda-Ausdrücke
102102

103103
Klonen Sie die [Vorgaben "Calculator"] und laden Sie das Projekt als Gradle-Projekt in Ihre
104104
IDE.

homework/b03.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ attachments:
88

99
<!-- pandoc -s -f markdown -t markdown+smart-grid_tables-multiline_tables-simple_tables --columns=94 --reference-links=true b03.md -o xxx.md -->
1010

11-
## A03.1: Git-Spiel
11+
# A03.1: Git-Spiel
1212

1313
Betrachten Sie erneut die [Vorgaben zur "Git-Quest"]. Die Geschichte des Helden Markus findet
1414
im `master`-Branch kein Ende, sondern erst im Hilfsbranch `end`.
@@ -34,12 +34,12 @@ einem frischen Klon der Vorgaben.
3434
Was beobachten Sie jeweils? Erklären Sie Ihre Beobachtungen. Wenn es Konflikte gibt: Wie lösen
3535
Sie diese auf? Demonstrieren Sie das Vorgehen im Praktikum live.
3636

37-
## LSF-Contact
37+
# LSF-Contact
3838

3939
Betrachten Sie die [Vorgaben "LSF-Contact"]. Klonen Sie das Repo und laden Sie das Projekt als
4040
Gradle-Projekt in Ihre IDE.
4141

42-
### A03.2: Methoden-Referenzen
42+
## A03.2: Methoden-Referenzen
4343

4444
Sie finden im Package `lsfcontact` eine Klasse `Student`. Jede Instanz dieser Klasse hat
4545
mindestens einen Namen (`String`), und man kann verschiedene Konktaktmöglichkeiten per Setter
@@ -77,7 +77,7 @@ Schaffen Sie es, diese durch Methodenreferenzen zu ersetzen?
7777
Achten Sie darauf, alle Schritte nachvollziehbar in Ihrer Arbeitskopie per Git Commit
7878
festzuhalten. Demonstrieren Sie dies im Praktikum.
7979

80-
### A03.3: Logging
80+
## A03.3: Logging
8181

8282
Bauen Sie für das `LsfContactUtil` ein Logging auf der Basis von `java.util.logging` ein: Jede
8383
Benachrichtigung von Studierenden soll in ein gemeinsames CSV-File geloggt werden. Dabei soll

homework/b04.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ Aufgaben in einem öffentlich sichtbaren Git-Repo durchführen sollen. Den Link
1414
jeweiligen Lösungs-Repo geben Sie bitte in Ihrem *Post Mortem* mit an.
1515
:::
1616

17-
## Stream-API
17+
# Stream-API
1818

19-
### A04.1: Git: Pull-Requests (und Code-Formatierung und -Dokumentation)
19+
## A04.1: Git: Pull-Requests (und Code-Formatierung und -Dokumentation)
2020

2121
Forken Sie das ["Stream-API"]-Repo und erzeugen Sie eine lokale Arbeitskopie von Ihrem Fork.
2222

@@ -30,7 +30,7 @@ einen Pull-Request auf **Ihren** eigenen `master`-Branch.
3030
Achten Sie darauf, alle Schritte nachvollziehbar in Ihrer Arbeitskopie per Git-Commit
3131
festzuhalten. Demonstrieren Sie im Praktikum, wie Sie mit den Pull-Requests arbeiten.
3232

33-
### A04.2: Stream-API: Task I
33+
## A04.2: Stream-API: Task I
3434

3535
Betrachten Sie den Branch `task_i`. Sie finden im Package `streamapi` einige Hilfsklassen
3636
sowie in der Datei [`Main.java`] einen Starter für diese erste Teilaufgabe.
@@ -42,7 +42,7 @@ Schreiben Sie den Body dieser Methode so um, dass die selbe Funktionalität unte
4242
[Java-Stream-API] erreicht wird. Bevorzugen Sie dabei nach Möglichkeit Methoden-Referenzen vor
4343
Lambda-Ausdrücken.
4444

45-
### A04.3: Stream-API: Task II
45+
## A04.3: Stream-API: Task II
4646

4747
Betrachten Sie nun den Branch `task_ii`. Sie finden wieder im Package `streamapi` einige
4848
Hilfsklassen sowie in der Datei [`Main.java`][1] einen Starter für diese zweite Teilaufgabe.
@@ -57,7 +57,7 @@ Schreiben Sie den Body dieser Methode so um, dass die selbe Funktionalität unte
5757
[Java-Stream-API] erreicht wird. Bevorzugen Sie dabei nach Möglichkeit Methoden-Referenzen vor
5858
Lambda-Ausdrücken.
5959

60-
### A04.4: Stream-API: Task III
60+
## A04.4: Stream-API: Task III
6161

6262
Betrachten Sie nun den Branch `task_iii`. Sie finden wieder im Package `streamapi` einige
6363
Hilfsklassen sowie in der Datei [`Main.java`][2] einen Starter für diese dritte Teilaufgabe.
@@ -70,7 +70,7 @@ Schreiben Sie den Body dieser Methode so um, dass die selbe Funktionalität unte
7070
[Java-Stream-API] erreicht wird. Bevorzugen Sie dabei nach Möglichkeit Methoden-Referenzen vor
7171
Lambda-Ausdrücken.
7272

73-
### A04.5: Stream-API: Task IV+V
73+
## A04.5: Stream-API: Task IV+V
7474

7575
Betrachten Sie nun den Branch `task_iv_v`. Sie finden wieder im Package `streamapi` einige
7676
Hilfsklassen sowie in der Datei [`Main.java`][3] einen Starter für diese vierte Teilaufgabe.
@@ -105,11 +105,11 @@ Hilfsklassen sowie in der Datei [`Main.java`][3] einen Starter für diese vierte
105105
der [Java-Stream-API] erreicht wird. Bevorzugen Sie dabei nach Möglichkeit
106106
Methoden-Referenzen vor Lambda-Ausdrücken.
107107

108-
### A04.6: Record-Klassen
108+
## A04.6: Record-Klassen
109109

110110
Machen Sie aus der Klasse `streamapi.Student` eine Record-Klasse.
111111

112-
## A04.7: DevDungeon: Zerbrechende Tiles und Speed Potions (Lambda-Ausdrücke)
112+
# A04.7: DevDungeon: Zerbrechende Tiles und Speed Potions (Lambda-Ausdrücke)
113113

114114
Klonen Sie das Projekt [DevDungeon] und laden Sie es in Ihrer IDE als Gradle-Projekt.
115115
Betrachten Sie das Sub-Projekt[^1] "devDungeon". Dies ist ein von einem Studierenden

0 commit comments

Comments
 (0)