Die Informatik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Verwaltung des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Informatik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Mathematik des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage des Fachbereiches 3 der Universität Bremen Hier geht es zur Homepage der Universität Bremen
Zeige Systems Engineering-Format Pdf_icon Wirtschaftsinformatik-Format Pdf_icon Informatik-Format Pdf_icon Digitale Medien-Format Pdf_icon

Digitale Medien-Ansicht

Modulnummer
B-MI-22
Modulbezeichnung
Praktische Informatik 2
Titel (englisch)
Practical Computer Science 2
Pflicht/Wahl
Pflicht
Erklärung
CP
6
Berechnung des Workloads
Turnus
angeboten in jedem SoSe
Dauer
ein Semester
Form
2 SWS L, 2 SWS T
Prüfung
i.d.R. Bearbeitung von Übungsaufgaben und Klausur
Anforderungen
Lernziele
  • Typische Datenstrukturen identifizieren und problemadäquat einsetzen können.
  • Datenstrukturen und Algorithmen in Java umsetzen können.
  • Wesentliche Algorithmen der Informatik erklären, anwenden und modifizieren können.
  • Algorithmische Alternativen bezüglich der Eignung für ein Problem beurteilen können.
  • Grundbegriffe der formalen Verifikation erläutern können.
  • Die Komplexität von einfachen Algorithmen analysieren können.
  • In Gruppen Probleme analysieren und gemeinsam Lösungsstrategien entwickeln und präsentieren können.

Die Vorlesungen Praktische Informatik 1 und 2 vermitteln essenzielles Grundwissen und Basisfähigkeiten, deren Beherrschung für nahezu jede vertiefte Beschäftigung mit Informatik – sowohl in der industriellen Anwendung, als auch in der Forschung – Voraussetzung ist.

Lerninhalte
  1. Komplexität von Algorithmen – O(n)-Notation und asymptotische Analyse
  2. Suchen und Sortieren auf Arrays: Binäre Suche – Quicksort und weitere Sortieralgorithmen – Komplexitätsvergleiche
  3. Mengen – Bags – Multimengen – Relationen – Funktionen: Datenstrukturen und Algorithmen zur Realisierung kanonischer Operationen (z.B. Mengenalgebra)
  4. Listen – Stapel – Warteschlangen: Datenstrukturen zur Realisierung (Arrays versus Verkettung und dynamische Speicherallokation für Elemente), Algorithmen zur Realisierung kanonischer Operationen (Listentraversion, Anfügen, Einfügen, Löschen, Suchen, Stack-Operationen, FIFO-Warteschlangenoperationen)
  5. Bäume: Binäre Bäume, AVL-Bäume, Rot-Schwarz-Bäume, B-Bäume – Suchen, Einfügen, Löschen, Traversion
  6. Hashing: Hash-Array, Hashfunktion, Hash Buckets, offenes Hashing
  7. Graphen: ungerichtete, gerichtete, gewichtete Graphen – Repräsentation durch Knoten- und Kantenlisten, durch Adjazenzmatrizen, Adjazenzlisten – Algorithmen auf Graphen: Breitensuche, Tiefensuche, Topologische Sortierung, kürzeste Wege auf gewichteten Graphen: Dijkstras Algorithmus, Maximaler Durchfluss, Realisierung markierter Transitionssysteme mit Graphen
  8. Algorithmen zur Syntaxprüfung: Tokenizer und Parser – systematische ParserGenerierung aus EBNF-Grammatiken
  9. Textsuche: Knuth-Morris-Pratt – Boyer-Moore – Pattern Matching für reguläre Ausdrücke
  10. Spezifikation von Programmen: Vor- und Nachbedingungen – Invarianten
  11. Verifikation: Partielle und totale Korrektheit sequenzieller Programme – Formale Verifikation, z.B. Hoare Logik (Pre-/Postconditions) – Eigenschaftsbeweis durch Strukturelle Induktion
Quellen
  • G. Saake und K.-U. Sattler: Algorithmen und Datenstrukturen. dpunkt.verlag, Heidelberg (2004)
  • R. Schiedermeier: Programmieren mit Java. Pearson, München (2005)

Weitere Informationen (Beispielprogramme, Musterlösungen, im WWW verfügbare Literatur) sind auf der Web-Seite der Veranstaltung zu finden.

Sprache
Deutsch
Bemerkung
Zuletzt geändert
2020-06-22 09:08:01 UTC
Zurück

Zeige Systems Engineering-Format Pdf_icon Wirtschaftsinformatik-Format Pdf_icon Informatik-Format Pdf_icon Digitale Medien-Format Pdf_icon