Speaker Dr. Michael Petter
Location MI 00.04.011 (HS 2)
Date Wednesdays 12:20-13:50
Module IN2113
Tutorial TBD

News

... yet to come

Contents

We present selected topics that focus on current issues in the design or implementation of programming languages from point of view of compiler construction. We consider these topics as providers for building blocks for programming languages, thus this lecture is not intended as an introduction to programming these features, instead on how to adapt compilers and runtime systems in order to support these features.

  • Memory Model
    • Relaxed Memory Models
    • Wait-Free Algorithms
    • Lock-Free Algorithms
    • Locks and Monitors
  • Control Flow in Concurrent Systems
    • Transactional Memory
    • Coroutines and Continuations
  • Method Dispatching
    • Multimethods
    • Multiple Inheritance
  • Modularization
    • Mixins
    • Traits
    • Prototype based Programming
  • Metaprogramming
    • Aspect Oriented Programming
    • Homoiconic Metaprogramming

Examination

  • Passing the exam of this course is worth 5 ECTS.
  • There will be only one exam, the one at the end of the winter semester
  • You are allowed to bring all analog helpers, e.g. books, printed slides, personal notes, etc. ; we recommend one DIN A4 sheet of paper with notes on both sides
  • In case you do not pass, you have the opportunity to take "Compiler Construction" or "Virtual Machines" in summer term or alternatively repeat the exam the next winter

Recommended Requirements

  • IN0001 Introduction to Informatics 1
  • IN0003 Functional Programming and Verification

Exercises

see Moodle