Module

16 Treffer

Übergreifende Wahlmodule16

Advanced Concepts of Programming LanguagesNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu beschäftigst dich mit der Bedeutung (Semantik) verschiedener Sprachkonstrukte und damit, wie sie in Compilern und Laufzeitsystemen umgesetzt werden. Am Ende kannst du Sprachfeatures analysieren, vergleichen und gegebenenfalls in einem anderen Sprachmodell nachbilden sowie Compiler erweitern, um diese Konstrukte zu unterstützen.6 ECTSläuft dieses SemesterCIT3230000Ausgewählte Themen aus dem Bereich Formale Methoden und ihre AnwendungenNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu beschäftigst dich mit aktuellen Themen aus dem Bereich Formale Methoden und ihrer Anwendung. Am Ende kennst du Forschungs- und Entwicklungsstand in ausgewählten Teilgebieten und kannst dich mit aktuellen Forschungsprojekten und -ergebnissen auseinandersetzen.5 ECTSläuft dieses SemesterIN3350Automata and Formal LanguagesNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst, wie verschiedene Klassen von Automaten (endliche, deterministische, nichtdeterministische, Büchi-Automaten) als Datenstrukturen zur Darstellung und Manipulation von (auch unendlichen) Mengen und Relationen eingesetzt werden. Du übst Aufbau und Kombination von Automaten, automatische Operationen (z. B. Boolesche Operationen, Joins) und den Zusammenhang zwischen Automaten und Logik sowie deren Anwendung in Pattern-Matching, Program Verification und bei Problemen wie Diophantischen Gleichungen.8 ECTSläuft dieses SemesterIN2041Games on GraphsNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst die Theorie von Spielen auf endlichen Graphen kennen. Aufbauend auf Erreichbarkeitsspielen werden sowohl qualitative als auch quantitative Varianten behandelt, und du kannst am Ende die grundlegenden Lösungsverfahren anwenden und kleinere Spielinstanzen selbst lösen.5 ECTSläuft dieses SemesterIN2296ProgrammoptimierungNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst Methoden und Analysen zur Verbesserung der Laufzeiteffizienz von Programmen. Das Modul behandelt Datenflussanalysen, Fixpunktberechnungen und optimierende Transformationen sowie hardware-nahe Techniken wie Registerverteilung, Instruktionsauswahl und Scheduling. Am Ende kannst du Analysen auf kleine Programme anwenden und Optimierungen entwickeln.8 ECTSläuft dieses SemesterIN2053
11 weitere in Übergreifende WahlmoduleAutomaten und formale Sprachen IINoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu beschäftigst dich mit fortgeschrittenen Themen der Automatentheorie, z. B. Baumautomaten, gewichtete Automaten und Automaten für die Verifikation unendlicher Zustandsräume. Am Ende kannst du passende Automatenmodelle auswählen, Automaten konstruieren und automatentheoretische Techniken auf Probleme wie Textanalyse oder Programmverifikation anwenden.5 ECTSkein Termin dieses SemesterIN2042Compilerbau INoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst, wie Compiler aufgebaut sind und wie sie Programme einer höheren Programmiersprache in Maschinenbefehle übersetzen. Am Ende kannst du die Grundkomponenten Frontend, Middleend und Backend erklären und einen einfachen Compiler für eine kleine Sprache und Zielarchitektur implementieren.5 ECTSkein Termin dieses SemesterIN2227Gleichungslogik und Lambda-KalkülNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst die Grundlagen von Gleichungslogik, Termersetzungssystemen und untypisiertem sowie typisiertem Lambda-Kalkül. Am Ende kannst du Semantik und Beweissysteme der Gleichungslogik anwenden, Termrewrites auf Korrektheit (Terminierung, Konfluenz) analysieren und Lambda-Terme sowohl programmieren als auch typisieren.8 ECTSkein Termin dieses SemesterIN2048Lambda CalculusNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst die Grundlagen des Lambda-Kalküls als Modell von Programmiersprachen. Zunächst behandelst Du ungetypten Lambda-Kalkül, seine Reduktionsregeln, Evaluationsstrategien (z. B. call-by-value, call-by-name) und seine Turing-Vollständigkeit. Im zweiten Teil lernst Du getypte Lambda-Kalküle, gängige Typensysteme in funktionalen Sprachen und die Verbindung zwischen Typen und Logik (Curry–Howard). Am Ende kannst Du Lambda-Terme nutzen, übersetzen und ihre Eigenschaften beweisen.5 ECTSkein Termin dieses SemesterIN2358LogikNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst die Grundlagen der Aussagen- und Prädikatenlogik: Syntax, Semantik und formale Beweissysteme. Am Ende kannst du in deduktiven Systemen Beweise führen, Soundness und Completeness nachweisen, Probleme formalisieren und einfache Entscheidungs- oder Semi-Entscheidungsverfahren wie Resolution anwenden.8 ECTSkein Termin dieses SemesterIN2049Model CheckingNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst, wie man Hardware- und Software-Systeme mit formalen Modellen beschreibt und wie man mit Model-Checking-Verfahren automatisch überprüft, ob diese Modelle gewünschte Eigenschaften erfüllen. Am Ende kannst du einfache Systeme modellieren, Eigenschaften in temporaler Logik formulieren und grundlegende Model-Checking-Algorithmen sowie Strategien gegen das Zustandsraum-Explosion-Problem erklären und auf kleine Beispiele anwenden.8 ECTSkein Termin dieses SemesterIN2050Netzwerkanalyse - statistische und formale Modelle und MethodenNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst, wie man Systeme durch Modelle beschreibt, zeitdiskrete Simulationen aufbaut und simulativ untersucht. Am Ende kannst du Simulationsmodelle entwerfen, Zufallszahlen und Verteilungen einsetzen sowie Leistung und Zeitverhalten von Systemen messen und auswerten.5 ECTSkein Termin dieses SemesterIN2045PetrinetzeNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst Petri-Netze als formales Modell zur Beschreibung und Analyse nebenläufiger Systeme kennen. Am Ende kannst du einfache Systeme mit Petri-Netzen modellieren, kleine Netze von Hand analysieren und geeignete automatische Analysetechniken und Softwaretools für größere Netze auswählen, um Verhalten und Eigenschaften zu bewerten.5 ECTSkein Termin dieses SemesterIN2052Quantitative VerificationNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst, wie man Systeme mit quantitativen Aspekten (z. B. Zeit, Wahrscheinlichkeiten) formal modelliert und analysiert. Am Ende kannst du geeignete Modellklassen und Spezifikationssprachen anwenden, Analysealgorithmen erklären und auf kleine Beispiele praktisch nutzen sowie Modellprüfungswerkzeuge einsetzen.5 ECTSkein Termin dieses SemesterIN2340SemanticsNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst formale Techniken zur Beschreibung und Analyse der Semantik von Programmiersprachen. Am Ende kannst du verschiedene Semantikstile (operational, denotational, axiomatisch) verstehen und anwenden sowie Semantiken für Sprachkonstrukte definieren und Eigenschaften wie Typsicherheit beweisen.8 ECTSkein Termin dieses SemesterIN2055Virtuelle MaschinenNoch keine Bewertungen für dieses Modul.Formale Methoden und ihre AnwendungenDu lernst, wie Programme unterschiedlicher Sprachen über Übersetzungsschemata in Code für idealisierte (virtuelle) Maschinen abgebildet werden. Am Ende kannst du für Ausschnitte von Programmen selbst Maschinenbefehle erzeugen und für gegebene Sprachkonstrukte Übersetzungsschemata entwickeln.6 ECTSkein Termin dieses SemesterIN2040