621.401 (19S) Übersetzerbau

Sommersemester 2019

Anmeldefrist abgelaufen.

Erster Termin der LV
07.03.2019 10:00 - 12:00 V.1.03 On Campus
... keine weiteren Termine bekannt

Überblick

Lehrende/r
LV-Titel englisch Compiler Construction
LV-Art Praktikum (prüfungsimmanente LV )
Semesterstunde/n 2.0
ECTS-Anrechnungspunkte 4.0
Anmeldungen 15 (30 max.)
Organisationseinheit
Unterrichtssprache Englisch
mögliche Sprache/n der Leistungserbringung Deutsch , Englisch
LV-Beginn 07.03.2019
eLearning zum Moodle-Kurs
Anmerkungen

Einführung: 7. März, 10:15 Uhr, V.1.03

Zeit und Ort

Liste der Termine wird geladen...

LV-Beschreibung

Intendierte Lernergebnisse

Studierende können die Konzepte des Übersetzerbaus anwenden, um einen konkreten Compiler zu entwickeln, und dessen Design und Funktionsweise erklären.

Lehrmethodik inkl. Einsatz von eLearning-Tools

Studierende erhalten wöchentliche Aufgaben zum Compilerprojekt sowie zur Compilertheorie. Die Lösungen zu letzteren Aufgaben sind im Praktikum mündlich zu präsentieren. Für das Compilerprojekt sind Abgaben zu fünf Meilensteinen vorgesehen. Am Semesterende ist zudem von jedem/r Teilnehmer/in ein Bericht über das Compilerprojekt abzugeben.

Inhalt/e

  • Implementierung eines Compilers
  • Lexikalische Analyse, endliche Automaten
  • Kontextfreie Grammatiken, Kellerautomaten
  • Syntaktische Analyse (Parser)
  • Syntax-gesteuerte Übersetzung, attributierte Grammatiken
  • Statische Korrektheitsprüfung
  • Laufzeitumgebungen
  • Code-Erzeugung

Erwartete Vorkenntnisse

  • Rechnerorganisation (MIPS-Assembler)
  • Theoretische Informatik (Formale Sprachen, Automaten)

Literatur

Aho – Lam – Sethi – Ullman: Compilers, 2nd ed., Pearson, 2006. Deutsche Auflage (2008) ist in der "Lehrbuchsammlung" der Universitätsbibliothek verfügbar.

Intendierte Lernergebnisse

Students can apply the concepts of compiler construction to developing a concrete compiler, and explain its design and functional issues.

Lehrmethodik inkl. Einsatz von eLearning-Tools

Students are assigned weekly homework exercises related to both the compiler project and compiler theory. Solutions are to be presented orally in class. For the compiler project, code is to be submitted corresponding to five milestones. At the end of the semester, a report about the compiler project has to be submitted by every participant.

Inhalt/e

  • Implementing a compiler
  • Lexical analysis, finite automata
  • Context-free grammars, push-down automata
  • Syntactical analysis (parsing)
  • Syntax-directed translation, attribute grammars
  • Static correctness checking
  • Run-time environments
  • Code generation

Erwartete Vorkenntnisse

  • Computer organization (MIPS assembler)
  • Theoretical computer science (formal languages, automata)

Literatur

Aho – Lam – Sethi – Ullman: Compilers, 2nd ed., Pearson, 2006. German edition (2008) available in "Lehrbuchsammlung" of local library.

Prüfungsinformationen

Im Fall von online durchgeführten Prüfungen sind die Standards zu beachten, die die technischen Geräte der Studierenden erfüllen müssen, um an diesen Prüfungen teilnehmen zu können.

Prüfungsmethode/n

  • Abgabe von Programmcode und Bericht zum entwickelten Compiler.
  • Mündliche Präsentation der Lösungen zu den Übungsaufgaben.

Prüfungsinhalt/e

  • Selbstentwickelter Compiler
  • Themen der Übungsaufgaben

Beurteilungskriterien/-maßstäbe

  • Lösung der Übungsaufgaben: 30% (Kreuzelliste)
  • Code-Abgaben zu Meilensteinen der Compiler-Entwicklung: 50%
  • Bericht zum entwickelten Compiler: 20%
  • In jedem dieser drei Bereiche müssen mindestens 50% der Punkte erreicht werden.

Details sowie Punkteschlüssel für die Notenvergabe werden am Beginn der LV in Moodle bereitgestellt.

Prüfungsmethode/n

  • Code submissions and a written report on the developed compiler. 
  • Oral presentation of solutions to exercises.

Prüfungsinhalt/e

  • Developed compiler
  • Topics of exercises

Beurteilungskriterien/-maßstäbe

  • Solution of exercises: 30% (online check list)
  • Submission of code according to milestones of compiler development: 50%
  • Report on developed compiler: 20%
  • For each of these assignment groups, at least 50% of the maximal score is required to pass this course.

Details of grading rules are made available in Moodle upon start of the course.

Beurteilungsschema

Note Benotungsschema

Position im Curriculum

  • Diplom-Lehramtsstudium Unterrichtsfach Informatik und Informatikmanagement (SKZ: 884, Version: 04W.7)
    • 2.Abschnitt
      • Fach: Praktische und Technische Informatik (LI 2.2) (Pflichtfach)
        • Übersetzerbau ( 2.0h PR / 3.0 ECTS)
          • 621.401 Übersetzerbau (2.0h PR / 4.0 ECTS)
  • Masterstudium Angewandte Informatik (SKZ: 911, Version: 13W.1)
    • Fach: Vertiefung Informatik (Pflichtfach)
      • Übersetzerbau ( 2.0h UE / 4.0 ECTS)
        • 621.401 Übersetzerbau (2.0h PR / 4.0 ECTS)

Gleichwertige Lehrveranstaltungen im Sinne der Prüfungsantrittszählung

Sommersemester 2024
  • 621.401 UE Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2023
  • 621.401 UE Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2022
  • 621.401 UE Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2021
  • 621.401 UE Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2020
  • 621.401 PR Compiler Construction (2.0h / 4.0ECTS)
Sommersemester 2018
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2017
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2016
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2015
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2014
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2013
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2012
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)
Sommersemester 2011
  • 621.401 PR Übersetzerbau (2.0h / 4.0ECTS)