621.401 (21S) Compiler Construction

Sommersemester 2021

Registration deadline has expired.

First course session
03.03.2021 16:00 - 18:00 online Off Campus
... no further dates known

Overview

Due to the COVID-19 pandemic, it may be necessary to make changes to courses and examinations at short notice (e.g. cancellation of attendance-based courses and switching to online examinations).

For further information regarding teaching on campus, please visit: https://www.aau.at/en/corona.
Lecturer
LV Nummer Südostverbund INO23001UL
Course title german Compiler Construction
Type Practical class (continuous assessment course )
Course model Online course
Hours per Week 2.0
ECTS credits 4.0
Registrations 23 (30 max.)
Organisational unit
Language of instruction English
possible language(s) of the assessment German , English
Course begins on 03.03.2021
eLearning Go to Moodle course

Time and place

Please note that the currently displayed dates may be subject to change due to COVID-19 measures.
List of events is loading...

Course Information

Intended learning outcomes

Studierende können die Konzepte des Übersetzerbaus in Übungsaufgaben anwenden und einen funktionierenden Compiler erklären und erweitern.

Teaching methodology including the use of eLearning tools

Die Studierenden erhalten wöchentlich Arbeitsaufträge im Zusammenhang mit dem Compiler-Projekt sowie mit der Compiler-Theorie. Die Lösungen werden in UE-Einheiten (in Videokonferenzen) präsentiert und diskutiert sowie zur Beurteilung abgegeben. Die Bereitstellung von Unterlagen, die Abgabe von Lösungen und die Bewertung erfolgen über die E-Learning-Plattform Moodle.

Course content

  • Untersuchung und Erweiterung eines funktionierenden Compilers
  • Lexikalische Analyse, endliche Automaten
  • Kontextfreie Grammatiken, Kellerautomaten
  • Syntaktische Analyse (Parsing)
  • Attributgrammatiken
  • Symboltabellen
  • Laufzeitumgebungen
  • Code-Erzeugung

Prior knowledge expected

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

Literature

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

Intended learning outcomes

Students can apply the concepts of compiler construction to some exercises,
and explain and extend a working compiler.

Teaching methodology including the use of eLearning tools

Students are assigned weekly homework exercises related to both the compiler
project and compiler theory. Solutions are presented and discussed in (online) class
meetings (using BigBlueButton video conferencing) and submitted for grading.
All provisioning of materials, submissions, and grading are handled on Moodle
e-learning platform.

Course content

  • Investigating and extending a working 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

Prior knowledge expected

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

Literature

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

Examination information

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.

Examination methodology

  • Abgabe und Präsentation von Übungsaufgaben
  • Abgabe von Code und Berichten zu einem funktionierenden Compiler
  • Einzelarbeit (keine Gruppenarbeit)

Examination topic(s)

  • Übungsaufgaben zum Vorlesungsinhalt
  • Bereitgestellte und von Studierenden erweiterte Compiler-Implementierung

Assessment criteria / Standards of assessment for examinations

  • Übungsaufgaben: 40%, entsprechend der Anzahl der gelösten Übungsaufgaben.
  • Compiler-Projekt: 60%, entsprechend der Qualität des abgegebenen Codes und der Berichte.
  • Minimum für positive Beurteilung: 20% für Übungsaufgaben UND 30% für Compiler-Projekt.

Details der Bewertungskriterien werden zu LV-Beginn im Moodle bereitgestellt.

Examination methodology

  • Submission and presentation of homework exercises.
  • Submission of code and reports related to working compiler.
  • All individual work, no group work.

Examination topic(s)

  • Exercises related to lecture content.
  • Provided and extended compiler implementation.

Assessment criteria / Standards of assessment for examinations

  • Homework exercises: 40%, according to number of prepared (checked and submitted) exercises.
  • Compiler project: 60%, according to quality of submitted code and reports.
  • Minimum to pass: 20% for homework exercises AND 30% for compiler project.

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

Grading scheme

Grade / Grade grading scheme

Position in the curriculum

  • Teacher training programme Computer Sciences and Computer Sciences Management (Secondary School Teacher Accreditation) (SKZ: 884, Version: 04W.7)
    • Stage two
      • Subject: Praktische und Technische Informatik (LI 2.2) (Compulsory subject)
        • Übersetzerbau ( 2.0h PR / 3.0 ECTS)
          • 621.401 Compiler Construction (2.0h UE / 4.0 ECTS)
  • Master-Lehramtsstudium Master Unterrichtsfach Informatik (SKZ: 514, Version: 19W.2)
    • Subject: Gebundene Wahlfächer AAU (INO.002) (Compulsory elective)
      • INO.203 Übersetzerbau ( 2.0h UE / 4.0 ECTS)
        • 621.401 Compiler Construction (2.0h UE / 4.0 ECTS)
          Absolvierung im 2. Semester empfohlen
  • Master's degree programme Informatics (SKZ: 911, Version: 19W.2)
    • Subject: Vertiefung Informatik (Specialization in Informatics) (Compulsory subject)
      • 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
  • Master's degree programme Applied Informatics (SKZ: 911, Version: 13W.1)
    • Subject: Vertiefung Informatik (Compulsory subject)
      • Übersetzerbau ( 2.0h UE / 4.0 ECTS)
        • 621.401 Compiler Construction (2.0h UE / 4.0 ECTS)

Equivalent courses for counting the examination attempts

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 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)