62 lines
5.0 KiB
Markdown
62 lines
5.0 KiB
Markdown
# Programmieren 2 (Sommersemester 2023)
|
|
|
|
## Aufbau der Veranstaltung
|
|
|
|
Die folgende Tabelle zeigt Ihnen die Themen der Woche und welche Kapitel Sie bis wann vorbereitet haben müssen. Da die Veranstaltung als **Inverted Classroom** durchgeführt wird, ist es **Ihre Aufgabe** das entsprechende **Kapitel** im Skript **bis zum genannten Termin** durchgearbeitet zu haben.
|
|
|
|
| # | 📢 Motto | 🎓 Themen | 📚 Kapitel | 📆 bis |
|
|
|----|--------------------------------------------|-------------------------------------------------------|--------------------|----------|
|
|
| 1 | Auffrischen, einchecken und loslegen | Auffrischung | [1][1] | ¹ |
|
|
| 2 | Wie Julius Caesar programmieren | JUnit, JavaDoc, Programmierstil, Pakete, Module, JARs | [2][2], [3][3] | **19.3** |
|
|
| 3 | Erben und vererben | Vererbung, Überladen, Verdecken, Konstruktoren | [4][4] | **26.3** |
|
|
| 4 | Verhaltenstherapie für Klassen | Überschreiben, Polymorphie, static, final | [4][4] | **02.4** |
|
|
| 5 | Mit Interfaces geht es noch abstrakter | Interfaces, abstrakte Klassen, SOLID, STUPID | [5][5] | **10.4** |
|
|
| 6 | Wer sortiert, muss trotzdem suchen | Suchen, Sortieren, Regex | [6][6] | **16.4** |
|
|
| 7 | Geschenkverpackungen und andere Feinheiten | Object, Wrapper, Optional, Enums, Records | [7][7], [8][8] | **23.4** |
|
|
| 8 | Wenn es mal schief geht, Ausnahmen | Exceptions, try, catch | [9][9] | **01.5** |
|
|
| 9 | Rein oder raus, die Daten müssen fließen | Input/Output mit Streams und Reader/Writer | [10][10] | **07.5** |
|
|
| 10 | One size fits all, mit generischen Typen | Generische Typen, Wildcards | [11][11] | **14.5** |
|
|
| 11 | Matroschka-Klassen | Geschachtelte Klassen, Lambdas | [12][12] | **21.5** |
|
|
| 12 | Daten brauchen Struktur | Abstrakte Datentypen | [13][13] | **04.6** |
|
|
| 13 | Objekte sammeln | Collections und Streams | [14][14], [15][15] | **11.6** |
|
|
| 14 | Parallel läuft es schneller | Threads, Probleme der Thread-Programmierung | [16][16] | **18.6** |
|
|
|
|
¹ = Wird als aus PR1 bekannt vorausgesetzt
|
|
|
|
[1]: https://smits-net.de/files/pr2/html/01_auffrischung/
|
|
[2]: https://smits-net.de/files/pr2/html/02_intro/
|
|
[3]: https://smits-net.de/files/pr2/html/03_strukturierung/
|
|
[4]: https://smits-net.de/files/pr2/html/04_vererbung/
|
|
[5]: https://smits-net.de/files/pr2/html/05_interfaces/
|
|
[6]: https://smits-net.de/files/pr2/html/06_algorithmen/
|
|
[7]: https://smits-net.de/files/pr2/html/06_algorithmen/
|
|
[8]: https://smits-net.de/files/pr2/html/08_enumerationen/
|
|
[9]: https://smits-net.de/files/pr2/html/09_exceptions/
|
|
[10]: https://smits-net.de/files/pr2/html/10_io/
|
|
[11]: https://smits-net.de/files/pr2/html/11_generics/
|
|
[12]: https://smits-net.de/files/pr2/html/12_geschachtelte_klassen/
|
|
[13]: https://smits-net.de/files/pr2/html/13_datenstrukturen/
|
|
[14]: https://smits-net.de/files/pr2/html/14_collections/
|
|
[15]: https://smits-net.de/files/pr2/html/15_streams/
|
|
[16]: https://smits-net.de/files/pr2/html/16_threads/
|
|
|
|
## Assignments
|
|
|
|
Hier finden Sie die Assignments (Aufgaben) für die Vorlesung Programmieren 2 (PR2). Die Assignments sind unten, zusammen mit dem Fälligkeitsdatum, aufgelistet.
|
|
|
|
Die Bearbeitung der Aufgaben und das Erreichen einer hinreichend großen Zahl von Punkten sind die Voraussetzung für die Teilnahme an der Klausur.
|
|
|
|
Hinweise zur nötigen Softwareausstattung finden Sie [hier](help/softwareausstattung.md).
|
|
|
|
| # | Ausgabe | Thema | Fällig am 📆 |
|
|
|----|------------|-----------------------------------------------------------------|----------------|
|
|
| 1. | 14.03.2023 | [String in Großbuchstaben umwandeln](Assignment_001/readme.md) | |
|
|
| 2. | 14.03.2023 | [Labeled Break](Assignment_002/readme.md) | |
|
|
| 3. | 14.03.2023 | [Passwortbewertung](Assignment_003/readme.md) | |
|
|
| 4. | 14.03.2023 | [printf mit Formatstring](Assignment_004/readme.md) | |
|
|
| 5. | 14.03.2023 | [Maximum in einem Array suchen](Assignment_005/readme.md) | |
|
|
| 6. | 14.03.2023 | [Taschenrechner](Assignment_006/readme.md) | |
|
|
| 7. | 14.03.2023 | [Quine](Assignment_007/readme.md) | |
|
|
| 8. | 14.03.2023 | [Umgebung aufsetzen](Assignment_008/readme.md) | **26.03.2023** |
|
|
| 9. | 14.03.2023 | [Erster Commit](Assignment_009/readme.md) | **26.03.2023** |
|