621.401 (20S) Compiler Construction

Sommersemester 2020

Time for applications expired.

First appointment of the course
05.03.2020 10:00 - 12:00 V.1.03 On Campus
... no other known appontments

Overview

Lecturer
LV Nummer Südostverbund
INO23001UL
Course title german
Compiler Construction
Type
Practical class (continuous assessment course )
Hours per Week
2.0
ECTS-credits
4.0
Registrations
30 (30 max.)
Organisational Unit
Language of Instruction
English
possible language/s of the exam
German , English
Course begins on (set in LVOnline)
05.03.2020
eLearning
go to Moodle-Course
Remarks (english)

First class: Mar 5, 10:15 am

Time and place

List of events is loading...

Course Information

Learning Outcome

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

Teaching methodology including the use of 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.

Course overview

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

Prior knowledge

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

Literature

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

Learning Outcome

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

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

Course overview

  • 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

Prior knowledge

  • 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.

Exam 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.

Exam methodology

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

Exam topics

  • Selbstentwickelter Compiler
  • Themen der Übungsaufgaben

Exam mode

  • 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.

Exam methodology

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

Exam topics

  • Developed compiler
  • Topics of exercises

Exam mode

  • 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.

Grading scheme

Grade / Grade grading scheme

Degree programmes

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

Equivalent Courses for counting the exam attempts

Sommersemester 2021
  • 621.401 UE 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)