621.401 (24S) Compiler Construction
Überblick
- Lehrende/r
- LV Nummer Südostverbund INO23001UL
- LV-Titel englisch Compiler Construction
- LV-Art Übung (prüfungsimmanente LV )
- LV-Modell Präsenzlehrveranstaltung
- Semesterstunde/n 2.0
- ECTS-Anrechnungspunkte 4.0
- Anmeldungen 27 (30 max.)
- Organisationseinheit
- Unterrichtssprache Englisch
- mögliche Sprache/n der Leistungserbringung Deutsch , Englisch
- LV-Beginn 06.03.2024
- eLearning zum Moodle-Kurs
Zeit und Ort
Liste der Termine wird geladen...
LV-Beschreibung
Intendierte Lernergebnisse
Absolventen dieses Kurses können:
- theoretische Konzepte der Compiler-Technologie auf Übungsaufgaben anwenden;
- eine funktionstüchtige Compiler-Implementierung analysieren, erklären und testen;
- ein Compiler-Build-Tool anwenden und eine Compiler-Implementierung für eine einfache Programmiersprache erweitern.
Lehrmethodik
- Studierende erhalten wöchentliche Übungsaufgaben zur Compiler-Technologie sowie zur Compiler-Implementierung für die Bearbeitung zu Hause.
- Probleme und LÖsungen werden in den Übungseinheiten präsentiert und diskutiert.
- Die Bereitstellung aller Materialien sowie Abgabe und Bewertung erfolgen in der E-Learning-Plattform Moodle.
Inhalt/e
- Untersuchung, Test und Erweiterung einer funktionstüchtigen Compiler-Implementierung
- Lexikalische Analyse, endliche Automaten
- Kontextfreie Grammatiken, Kellerautomaten
- Syntaxanalyse
- Attributgrammatiken
- Symboltabellen
- Laufzeitumgebungen
- Code-Erzeugung
Erwartete Vorkenntnisse
- Programmierung in Java
- Rechnerorganisation - MIPS-Assembler
- Theoretische Informatik - formale Sprachen, Automaten
Literatur
- K. C. Louden: Compiler Construction: Principles and Practice, Course Technology, 2009.
- Aho, Lam, Sethi, Ullman: Compilers, 2nd ed., Pearson, 2006.
- Beide Bücher sind auch in der AAU-Lehrbuchsammlung vorhanden.
Intendierte Lernergebnisse
Graduates of this module can:
- apply theoretical concepts of compiler construction to exercises;
- analyze, explain, and test a working compiler implementation;
- use a compiler building tool and extend a working compiler for a simple programming language.
Lehrmethodik
- Students are assigned weekly homework exercises related to both the compiler project and compiler theory.
- Problems and solutions are presented and discussed in class meetings.
- All provisioning of materials, submissions, and grading are handled on Moodle e-learning platform.
Inhalt/e
- Investigating, testing, and extending a working compiler
- Lexical analysis, finite automata
- Context-free grammars, push-down automata
- Syntax analysis
- Attribute grammars
- Symbol tables
- Run-time environments
- Target code generation
Erwartete Vorkenntnisse
- Java programming skills
- Computer organization - MIPS assembler
- Theoretical computer science - formal languages, automata
Literatur
- K. C. Louden: Compiler Construction: Principles and Practice, Course Technology, 2009.
- Aho, Lam, Sethi, Ullman: Compilers, 2nd ed., Pearson, 2006.
- Both books are also 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
- Präsentation und Diskussion von Übungsaufgaben (Kreuzelliste)
- Abgabe von Code und Bericht über die Compiler-Implementierung
- Schriftliche Prüfung am Semesterende (mit Unterlagen)
- Bei Abwesenheit oder negativem Ergebnis (<20%) wird ein zweiter Prüfungstermin angeboten.
Prüfungsinhalt/e
- Themen der Übungsaufgaben
- Bereitgestellte und erweiterte Compiler-Implementierung
Beurteilungskriterien/-maßstäbe
- Übungsaufgaben: 30%, entsprechend der Anzahl der angekreuzten Aufgaben (Kreuzelliste)
- Compiler-Implementierung: 30%, entsprechend der Qualität und Vollständigkeit des abgegebenen Codes und Berichts.
- Schriftliche Prüfung: 40%
- Minimalkriterium für positiven Abschluss: 50% jeder Beurteilungskomponente (Kreuzelliste, Abgabe, Prüfung)
Weitere Details der Beurteilungskriterien werden zu Beginn der LV in Moodle bereitgestellt.
Prüfungsmethode/n
- Presentation and discussion of homework assignments (online checklist)
- Submission of code and report related to working compiler
- Written exam at end of semester (open book)
- In case of absence or failure (<20%), a second exam opportunity will be provided.
Prüfungsinhalt/e
- Topics covered by homework assignments
- Provided and extended compiler implementation
Beurteilungskriterien/-maßstäbe
- Homework assignments: 30%, according to number of prepared (checked) exercises.
- Compiler project: 30%, according to quality and completeness of submitted code and report.
- Written exam: 40%
- Minimum to pass: 50% of each grading component (check list, submission, exam)
Further details of grading rules are made available in Moodle upon start of the course.
Beurteilungsschema
Note BenotungsschemaPosition im Curriculum
- Master-Lehramtsstudium Master Unterrichtsfach Informatik
(SKZ: 514, Version: 19W.2)
-
Fach: Gebundene Wahlfächer AAU (INO.002)
(Wahlfach)
-
INO.203 Übersetzerbau (
2.0h UE / 4.0 ECTS)
- 621.401 Compiler Construction (2.0h UE / 4.0 ECTS) Absolvierung im 2. Semester empfohlen
-
INO.203 Übersetzerbau (
2.0h UE / 4.0 ECTS)
-
Fach: Gebundene Wahlfächer AAU (INO.002)
(Wahlfach)
- Masterstudium Informatics
(SKZ: 911, Version: 19W.2)
-
Fach: Vertiefung Informatik (Specialization in Informatics)
(Pflichtfach)
-
1.5 Compiler Construction (
2.0h UE / 4.0 ECTS)
- 621.401 Compiler Construction (2.0h UE / 4.0 ECTS) Absolvierung im 2. Semester empfohlen
-
1.5 Compiler Construction (
2.0h UE / 4.0 ECTS)
-
Fach: Vertiefung Informatik (Specialization in Informatics)
(Pflichtfach)
Gleichwertige Lehrveranstaltungen im Sinne der Prüfungsantrittszählung
-
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 2019
- 621.401 PR Übersetzerbau (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)