Speaker | Dr. Michael Petter |
Location | MI 00.04.011 (HS 2) |
Date | Wednesdays 12:20-13:50 |
Module | IN2113 |
Tutorial | Fridays 8:30-10:00 (HS 2) |
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
Lecture Slides
- Lecture Recordings
- NEW!!!! 2019/20 Slides 2x5
- 2018/19 Slides (one side/page)
- Lecture Memory Models
- Wait-/Lock-Free Algorithms
- Transactional Memory
- Function Dispatching
- Multiple Inheritance
- Mixins and Traits
- Prototype Based Programming
- Aspect Oriented Programming
- Meta Programming
- Co-Routines and Continuations