title | modulverantwortlich | dozierende | modulniveau | kuerzel | date | kategorie | sprache | kreditpunkte | voraussetzungenNachPruefungsordnung | empfohleneVoraussetzungen | published | veranstaltungsform | pvl | typ | layout | infourl | studienleistungen | meta | besonderheiten | praesenzZeit | selbstStudium | angebotImWs | angebotImSs | weitereStudiengaenge | lehrmethoden | lehrform | studiengangkriterien | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Algorithmen und Programmierung 2 |
ck |
ck |
bachelor |
AP2 |
Last Modified |
grundlagen |
deutsch |
7 |
keine |
Algorithmen und Programmierung 1 |
true |
true |
pm |
modulbeschreibung.11ty.js |
|
|
Die Veranstaltung ist als "Flex Classroom" konzipiert. Studierende können die Learning Outcomes durch Besuch der Vorlesung oder durch die Nutzung der bereitgestellten Screencasts erreichen. Die Praktika bestehen aus Beratung und Abnahme von Praktikumsaufgaben. |
108 |
102 |
false |
true |
|
|
|
|
Die Studierende sollen
- (WAS) die grundlegenden Prinzipien, Strukturen und Syntaxelemente der objekt-orientierten Programmierung verstehen und anwenden können, (WOMIT) indem sie die Programmiersprache Kotlin einsetzen, (WOZU) um eigene Algorithmen umsetzen zu können
- (WAS) Standardalgorithmen (z.B. Suchen, Sortieren) verstehen und anwenden, (WOMIT) indem Sie Pseudocode in lauffähigen Code übersetzen, (WOZU) um deren Eigenschaften (z.B. Laufzeitverhalten) und Funktionsweise einordnen zu können
- (WAS) eigene objektorientierte Datenstrukturen entwickeln und die Komposition komplexer Objektstrukturen beherrschen, (WOMIT) indem sie Geschäfts- und Anwendungsfelder der realen Welt als Software modellieren und verschiedene abstrakte Datentypen (z.B. Listen) und unterschiedliche konkrete Implementierungen (z.B. Verkettete Listen) umsetzen, (WOZU) um die Planung und den Entwurf einfacher Softwarearchitekturen durchzuführen und Systeme zu modellieren
- (WAS) gut strukturierten, dokumentierten und wartbaren Code entwerfen können, (WOMIT) indem Prinzipien des Clean Coding, Entwurfsmuster und Teststrategien angewandt werden, (WOZU) um robuste und sichere Software zu entwickeln, eigene Software in einer objektorientierten Programmiersprache planen, entwickeln, umsetzen und testen können
Hierzu werden die Programmiersprache Kotlin, grundlegende Bibliotheken (Java, Android) und eine integrierte Entwicklungsumgebung eingesetzt.
- Arbeiten mit integrierter Entwicklungsumgebung
- Dynamische vs. Statische Typisierung
- Objekte und Abstraktion
- Einfache Klassen
- Datenkapselung
- Konstruktoren
- Veränderbare und unveränderbare Listen
- when-Anweisungen und Ausdrücke
- Vererbung und Typen
- Klassenhierarchien
- Typkompatibilität, Upcast, Downcast und Smart Cast
- Polymorphie und Dynamische Bindung
- Objektkomposition und Objektaggregation
- Parametrisierte Datentypen (Generics)
- Begleit-Objekte für Klassen
- Abstrakte Klassen und Schnittstellen
- Nullfähige Typen
- Abstrakte Datentypen in der Programmierung
- Einfache und doppelt verkette Liste
- Exceptions
- Clean Code
- Testfälle schreiben
- Laufzeiteffizienz und O-Notation
- Entwurfsmuster (Iterator, Observer, Singleton, Strategie u.a.)
- Verschachtelte, innere, statische und lokale Klassen
- Sortieralgorithmen, u.a. Quicksort
- Listen-Funktionen und Lambda-Ausdrücke
- Stacks
- Warteschlange
- Assoziative Speicher
- Nicht-lineare Datenstrukturen
- Binärbäume
- Verarbeitung durch Funktionen höherer Ordnung
- Vergleich mit anderen Programmierparadigmen
- Vorlesungsunterlagen: Foliensammlung, ausformuliertes Skript, Beispiellösungen, Screencasts
- Kohls, C., Dobrynin, A., Leonard, F. (2020) Programmieren Lernen mit Kotlin. Mün- chen: Hanser Verlag.
- Dmitry Jemerov & Svetlana Isakova (2017). Kotlin in Action. Manning Publications. Dawn Griffiths, David Griffiths & Jørgen W. Lang (2019). Kotlin von Kopf bis Fuß: Eine Einführung in die Kotlin-Programmierung. O'Reilly.
- Thomas Theis (2019). Einstieg in Kotlin: Apps entwickeln mit Android Studio. Keine Vorkenntnisse erforderlich, ideal für Kotlin-Einsteiger und Java-Umsteiger. Rhein-werk-Verlag
- Karl Szwillus (2019). Kotlin: Einstieg und Praxis. mitp Professional.
- Online-Referenz und Tutorials: https://kotlinlang.org/docs/reference/