Skip to content

klingera/refresher

Repository files navigation

Refresher Programmieren 2

Freiwilliger Wiederholungskurs im Bachelorstudiengang Wirtschaftsinformatik an der Hochschule Rosenheim.

Organisatorisches

Termin: Dienstags um 17:15 Uhr im B0.11

Modus: seminaristischer Unterricht; BYOD empfohlen.

Kommunikation: via Mattermost (einschreiben)

Die Teilnahme ist freiwillig und unverbindlich, es gibt keine Prüfung.

Inhalt

Es werden die wichtigsten Inhalte von Programmieren 2 in verkürzter Form wiederholt und an Beispielen vertieft. Wichtig: Dies ist eine Ergänzung aber kein Ersatz zur ursprünglichen Vorlesung, und hat keinen Anspruch auf Vollständigkeit.

  • Datenstrukturen: Liste, Set und Map (assoziatives Array), und deren Realisierung als Array, verkettete Liste oder Baumstruktur.
  • Algorithmen: Binäre Suche, sortieren.
  • Sprachfeatures: Interfaces, Vererbung, abstrakte Klassen und Generics.
  • Datenverarbeitung: Traversierung mit Iteratoren und filter-map-reduce.
  • Parallele Verarbeitung mit Threads.

Terminplan

  • Vererbung und abstrakte Klassen (14.11.2017, Folien, Aufgabe)

    Abstrakten Klassen erklärt am Beispiel der Implementierung eines Zustandsautomaten.

  • Listen und Generics (28.11.2017, Aufgabe)

    Die Liste ist eine der wichtigsten Datenstrukturen der Informatik. Mit Generics können wir diese unabhängig vom Datentyp implementieren.

  • Set als Binärbaum (5.12.2017)

    Ein Set ist definiert als eine (ungeordnete) Menge von Elementen ohne Duplikate. Die Interfaces Comparable<T> und Comparator<T> helfen uns beim Aufbau von Binärbäumen, welche Sets effizient modellieren können.

  • Iterator und Factory (12.12.2017)

    Ein Iterator<T> ist ein Objekt, welches die Traversierung einer Datenstruktur ermöglicht, ohne deren innere Struktur zu kennen. Eine Factory stellt Objekte her, welche einem Interface genügen.

  • Rekursion (19.12.2017)

    Rekursive Funktionen rufen sich selbst wieder auf. Wir betrachten als Beispiele die Pre-/In-/Postfixschreibweise, binäre Suche, sowie Sortieren am Beispiel von merge sort.

  • Parallele Verarbeitung (9.1.2017)

    Threads helfen bei der parallelen Verarbeitung von Daten. Gibt es sowohl Produzenten als auch Konsumenten, so kann es zu Deadlocks kommen.

Weitere Anregungen zum Selbstudium

  • Iteratoren: vorwärts, rückwärts, sortiert, sortiert mit Comparator.
  • Baumtraversierung: Rekursiver Links- und Rechtsabstieg; iterativ mit Agenda
  • Erweiterte Datenstrukturen: doppelt verkette Liste, n-ärer Baum, Hashset, Hashmap
  • Sortieren: insertion, selection, merge, quick

Abboniere das https://github.com/hsro-wif-prg2/refresher/ Repository um bei Updates benachrichtigt zu werden.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published