SoSe 24  
Mathematik und ...  
Modulangebot In...  
Lehrveranstaltung

Lehramt für Informatik

Modulangebot Informatik (30 LP, Studienordnung 2018)

0132c_m30
  • Informatik B

    0132cA1.2
    • 19300101 Vorlesung
      Algorithmen und Datenstrukturen (Wolfgang Mulzer)
      Zeit: Di 16:00-18:00, Fr 12:00-14:00, zusätzliche Termine siehe LV-Details (Erster Termin: 16.04.2024)
      Ort: , HFB/A Hörsaal, HFB/C Hörsaal, Hs 1a Hörsaal, Hs 1b Hörsaal, Hs 2 Hörsaal

      Kommentar

      Qualifikationsziele

      Die Studierenden analysieren4 Algorithmen und Datenstrukturen und ihre Implementierungen bezüglich Laufzeit, Speicherbedarf und Korrektheit und beschreiben2 verschiedene Algorithmen und Datenstrukturen für typische Anwendungen und wenden3 diese auf konkrete Beispiele an. Sie können passende Algorithmen und Datenstrukturen für gegebene Aufgaben auswählen4 und passen5 diese entsprechend an. Sie erklären2, identifizieren4 und verwenden5 verschiedene Entwurfsparadigmen für Algorithmen.

      Inhalte

      Studierende lernen das Maschinenmodell, sowie verschiedene algorithmische Probleme kennen. Sie erarbeiten und üben die Berechnung von Laufzeit, Korrektheit und Speicherbedarf dieser Algorithmen und lernen die asymptotische worst-case Analyse kennen. Darüber hinaus diskutieren sie die Rolle des Zufalls im Kontext des Entwurfs von Algorithmen. Des Weiteren erlernen und üben sie Entwurfsparadigmen für Algorithmen wie Teile und Herrsche, gierige Algorithmen, Dynamische Programmierung und Erschöpfende Suche. Sie lernen Prioritätswarteschlangen und effiziente Datenstrukturen für geordnete und ungeordnete Wörterbücher (z.B. ausgeglichene Suchbäume, Streuspeicher, Skiplisten) kennen und üben den Umgang mit ihnen. Zudem lernen sie Algorithmen für Zeichenketten (digitale Suchbäume und Suchen in Zeichenketten) und Graphenalgorithmen kennen, diskutieren deren Anwendung und üben den Umgang mit ihnen.

       

      Literaturhinweise

      • P. Morin: Open Data Structures, an open content textboox.
      • T. H. Cormen, C. Leiserson, R. Rivest, C. Stein: Introduction to Algorithms, MIT Press, 2022.
      • R. Sedgewick, K. Wayne: Algorithms, Addison-Wesley, 2011.
      • M. Dietzfelbinger, K. Mehlhorn, P. Sanders. Algorithmen und Datenstrukturen: Die Grundwerkzeuge, Springer, 2014.
      • J. Erickson. Algorithms, 2019
      • T. Roughgarden. Algorithms Illuminated. Cambridge University Press, 2022.

    • 19300102 Übung
      Übung zu Algorithmen und Datenstrukturen (Wolfgang Mulzer)
      Zeit: Mo 14:00-16:00, Mo 16:00-18:00, Mi 12:00-14:00, Mi 14:00-16:00, Mi 16:00-18:00, Do 16:00-18:00, Fr 14:00-16:00, Fr 16:00-18:00 (Erster Termin: 15.04.2024)
      Ort: T9/051 Seminarraum (Takustr. 9)
  • Datenbanksysteme für Nebenfach

    0132cA2.2
    • 19301501 Vorlesung
      Datenbanksysteme (Agnès Voisard)
      Zeit: Di 14:00-16:00, Do 14:00-16:00, zusätzliche Termine siehe LV-Details (Erster Termin: 16.04.2024)
      Ort: T9/Gr. Hörsaal (Takustr. 9)

      Zusätzl. Angaben / Voraussetzungen

      Zielgruppe

      • Pflichtmodul im Bachelorstudiengang Informatik
      • Pflichtmodul im lehramtsbezogenen Bachelorstudiengang mit Kernfach Informatik und Ziel: Großer Master
      • Studierende im lehramtsbezogenen Masterstudiengang (Großer Master mit Zeitfach Informatik) können dieses Modul zusammen mit dem "Praktikum DBS" absolvieren
      • Wahlpflichtmodul im Nebenfach Informatik

      Voraussetzungen

      • ALP 1 - Funktionale Programmierung
      • ALP 2 - Objektorientierte Programmierung
      • ALP 3 - Datenstrukturen und Datenabstraktion
      • ODER Informatik B

      Kommentar

      Inhalt

      Datenbankentwurf mit ERM/ERDD. Theoretische Grundlagen relationaler Datenbanksysteme: Relationale Algebra, Funktionale Abhängigkeiten, Normalformen. Relationale Datenbankentwicklung: SQL Datendefinition, Fremdschlüssel und andere Integritätsbedingungen. SQL als applikative Sprache: wesentliche Sprachelemente, Einbettung in Programmiersprachen, Anwendungsprogrammierung; objekt-relationale Abbildung. Transaktionsbegriff, transaktionale Garantien, Synchronisation des Mehrbenutzerbetriebs, Fehlertoleranzeigenschaften. Anwendungen und neue Entwicklungen: Data Warehousing, Data Mining, OLAP.

      Projekt: im begleitenden Projekt werden die Themen praktisch vertieft.

      Literaturhinweise

      • Alfons Kemper, Andre Eickler: Datenbanksysteme - Eine Einführung, 5. Auflage, Oldenbourg 2004
      • R. Elmasri, S. Navathe: Grundlagen von Datenbanksystemen, Pearson Studium, 2005

    • 19301502 Übung
      Übung zu Datenbanksysteme (Muhammed-Ugur Karagülle)
      Zeit: Mo 14:00-16:00, Mo 16:00-18:00, Di 08:00-10:00, Di 10:00-12:00, Di 12:00-14:00, Mi 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 10:00-12:00, Do 12:00-14:00, Fr 14:00-16:00, Fr 16:00-18:00 (Erster Termin: 17.04.2024)
      Ort: T9/055 Seminarraum (Takustr. 9)
  • Grundlagen der theoretischen Informatik für Nebenfach

    0132cA2.3
    • 19301201 Vorlesung
      Grundlagen der theoretischen Informatik (Katharina Klost)
      Zeit: Mo 12:00-14:00, Mi 08:00-10:00, zusätzliche Termine siehe LV-Details (Erster Termin: 15.04.2024)
      Ort: T9/SR 005 Übungsraum (Takustr. 9)

      Kommentar

      Inhalt:

      • Theoretische Rechnermodelle
        • Automaten
        • formale Sprachen
        • Grammatiken und die Chomsky-Hierarchie
        • Turing-Maschinen
        • Berechenbarkeit
      • Einführung in die Komplexität von Problemen

      Literaturhinweise

      • Uwe Schöning, Theoretische Informatik kurzgefasst, 5. Auflage, Spektrum Akademischer Verlag, 2008
      • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Einführung in die Automatentheorie, Formale Sprachen und Komplexität, Pearson Studium, 3. Auflage, 2011
      • Ingo Wegener: Theoretische Informatik - Eine algorithmenorientierte Einführung, 2. Auflage, Teubner, 1999
      • Michael Sipser, Introduction to the Theory of Computation, 2nd ed., Thomson Course Technology, 2006
      • Wegener, Kompendium theoretische Informatik - Eine Ideensammlung, Teubner 1996

    • 19301202 Übung
      Übung zu Grundlagen der theoretischen Informatik (Katharina Klost)
      Zeit: Di 10:00-12:00, Di 16:00-18:00, Mi 12:00-14:00, Mi 14:00-16:00 (Erster Termin: 16.04.2024)
      Ort: T9/053 Seminarraum (Takustr. 9)
  • Nichtsequentielle Programmierung

    0132cA2.4
    • 19322101 Vorlesung
      Nebenläufige, parallele und verteilte Programmierung (Claudia Müller-Birn, Barry Linnert)
      Zeit: Mo 14:00-16:00, Mi 16:00-18:00, zusätzliche Termine siehe LV-Details (Erster Termin: 15.04.2024)
      Ort: T9/Gr. Hörsaal (Takustr. 9)

      Kommentar

      Inhalte:

      Programmieren und Synchronisieren von gleichzeitig laufenden Prozessen, die auf gemeinsame Ressourcen zugreifen oder über Nachrichtenaustausch interagieren.

      • Nichtsequentielle Programme und Prozesse in ihren verschiedenen Ausprägungen, Nichtdeterminismus, Determinierung
      • Synchronisationsmechanismen: Sperren, Monitore, Wachen, Ereignisse, Semaphore
      • Nichtsequentielle Programmausführung und Objektorientierung
      • Ablaufsteuerung, Auswahlstrategien, Prioritäten, Umgang mit und Vermeidung von Verklemmung
      • Koroutinen, Implementierung, Mehrprozessorsysteme
      • Interaktion über Nachrichten
      • Programmieren und Synchronisieren von gleichzeitig laufenden Prozessen, die über Nachrichtenaustausch interagieren
      • Fernaufruftechniken
      • Client-Server, Peer-to-Peer
      • Parallelrechnen im Netz
      • Koordinierungssprachen
      • Verarbeitung auf dem Server und auf dem Client, Mobilität
      • Middleware, strukturierte Kommunikation, statische und dynamische Schnittstellen
      • Ereignisbasierte und strombasierte Verarbeitung
      • Sicherheit von Anwendungen im Netzwerk
      • Ausblick auf nichtfunktionale Eigenschaften (Zeit, Speicher, Dienstgüte) 

      Literaturhinweise

      Literatur:

      • Principles of Concurrent and Distributed Programming. M. Ben-Ari. Addison-Wesley. 
      • Distributed Systems. Concepts and Design. Fifth Edition. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. Pearson.

    • 19322102 Übung
      Übung zu Nebenläufige, parallele und verteilte Programmierung (Barry Linnert)
      Zeit: Mo 10:00-12:00, Mo 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 14:00-16:00, Fr 10:00-12:00, Fr 14:00-16:00, Fr 16:00-18:00 (Erster Termin: 15.04.2024)
      Ort: T9/053 Seminarraum (Takustr. 9)
  • Verteilte Programmierung

    0132cA2.5
    • 19322101 Vorlesung
      Nebenläufige, parallele und verteilte Programmierung (Claudia Müller-Birn, Barry Linnert)
      Zeit: Mo 14:00-16:00, Mi 16:00-18:00, zusätzliche Termine siehe LV-Details (Erster Termin: 15.04.2024)
      Ort: T9/Gr. Hörsaal (Takustr. 9)

      Kommentar

      Inhalte:

      Programmieren und Synchronisieren von gleichzeitig laufenden Prozessen, die auf gemeinsame Ressourcen zugreifen oder über Nachrichtenaustausch interagieren.

      • Nichtsequentielle Programme und Prozesse in ihren verschiedenen Ausprägungen, Nichtdeterminismus, Determinierung
      • Synchronisationsmechanismen: Sperren, Monitore, Wachen, Ereignisse, Semaphore
      • Nichtsequentielle Programmausführung und Objektorientierung
      • Ablaufsteuerung, Auswahlstrategien, Prioritäten, Umgang mit und Vermeidung von Verklemmung
      • Koroutinen, Implementierung, Mehrprozessorsysteme
      • Interaktion über Nachrichten
      • Programmieren und Synchronisieren von gleichzeitig laufenden Prozessen, die über Nachrichtenaustausch interagieren
      • Fernaufruftechniken
      • Client-Server, Peer-to-Peer
      • Parallelrechnen im Netz
      • Koordinierungssprachen
      • Verarbeitung auf dem Server und auf dem Client, Mobilität
      • Middleware, strukturierte Kommunikation, statische und dynamische Schnittstellen
      • Ereignisbasierte und strombasierte Verarbeitung
      • Sicherheit von Anwendungen im Netzwerk
      • Ausblick auf nichtfunktionale Eigenschaften (Zeit, Speicher, Dienstgüte) 

      Literaturhinweise

      Literatur:

      • Principles of Concurrent and Distributed Programming. M. Ben-Ari. Addison-Wesley. 
      • Distributed Systems. Concepts and Design. Fifth Edition. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. Pearson.

    • 19322102 Übung
      Übung zu Nebenläufige, parallele und verteilte Programmierung (Barry Linnert)
      Zeit: Mo 10:00-12:00, Mo 12:00-14:00, Mi 14:00-16:00, Do 08:00-10:00, Do 14:00-16:00, Fr 10:00-12:00, Fr 14:00-16:00, Fr 16:00-18:00 (Erster Termin: 15.04.2024)
      Ort: T9/053 Seminarraum (Takustr. 9)