uebungen2/readme.md

60 lines
4.7 KiB
Markdown
Raw Normal View History

2023-03-20 15:32:23 +01:00
# 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).
| # | Thema | Fällig am 📆 |
|----|-----------------------------------------------------------------|----------------|
| 1. | [String in Großbuchstaben umwandeln](Assignment_001/readme.md) | **14.03.2023** |
| 2. | [Labeled Break](Assignment_002/readme.md) | **14.03.2023** |
| 3. | [Passwortbewertung](Assignment_003/readme.md) | **14.03.2023** |
| 4. | [printf mit Formatstring](Assignment_004/readme.md) | **14.03.2023** |
| 5. | [Maximum in einem Array suchen](Assignment_005/readme.md) | **14.03.2023** |
| 6. | [Taschenrechner](Assignment_006/readme.md) | **14.03.2023** |
| 7. | [Quine](Assignment_007/readme.md) | **14.03.2023** |