Lehrstuhl Informatik II   
Sprachen und Beschreibungsstrukturen      
   Home Lehre Wintersemester 16/17 Vorlesungen Programming Languages login

Programming Languages

Dozent:Dr. Michael Petter
Ort/Zeit:HS 2, Wednesdays 14:15-16:00 and Fridays 10:00-12:00 MI 02.07.034
Beschreibung:    We are discussing various advanced programming paradigms illustrated by a number of real programming languages such as e.g. Smalltalk, Java, C/C++ and others.

Exam review: April 13th, MI 02.07.014 13:00-16:00

general announcements


Memory Models for Concurrency

  1. Happened-before and Sequential Consistency
  2. MESI and TSO
  3. Wait-Free & Lock-Free Algorithms
  4. Monitors & Condition Variables and Deadlock Prevention
  5. Transactional Memory

Modularization Techniques

  1. Function Dispatching
  2. (Multiple)-Inheritance
  3. Mixins and Traits
  4. Prototype Based Programming


Mini-Topics for Talks

  1. Channel-Synchronization vs. Mutexes with Goroutines
  2. Communicating Sequential Processes (CSP) [Tony Hoare 1978]
  3. Pi-Calculus [Robin Milner 1993]
  4. Actor Model (asynchronous Message Passing) & Erlang
  5. Automatic Fence Placement: The Algorithm behind Memorax [Abdullah et al 2013]
  6. Static Race Detection with Locksets (Goblint or Locksmith)
  7. Static Race Detection with Happens-Before Relations (Thread Sanitizer) [Serebryany at al 2009]
  8. Priority Inheritance vs. Priority Ceiling Protocols [Sha et al 1990]

Teleteaching Recordings

can be found here.

Tutorial Sessions

  1. Tutorial Sheet "Happened-Before" / Solution
  2. Tutorial Sheet "MESI and Dekker" / Solution
  3. Tutorial Sheet "Semaphore and Monitors" / Solution
  4. Tutorial Sheet "Locks and Deadlocks" / Solution
  5. Tutorial Sheet "Transactional Memory" / Solution
  6. Tutorial Sheet "Dispatching" / Solution
  7. Tutorial Sheet "Multiple Inheritance" / Solution
  8. Tutorial Sheet "Traits and Mixins" / Solution
  9. Tutorial Sheet "Prototype Based Programming" / Solution


Passing the exam of this course is worth 5 ECTS.

This information might not be up-to-date.

  1. Exam: There will be only one exam at the end of the semester
  2. Exam: you are allowed to bring one DIN A4 sheet of paper with notes on both sides
  3. Exam: in case you did not pass, you have the opportunity to take "Compiler Construction" or "Virutal Machines" next term or alternatively repeat the exam next winter

angehängte Dateien:


TUM - Lehrstuhl Informatik II (Sprachen und Beschreibungsstrukturen) Thanks: Tango and TinyMCE     Generationszeit: 11 ms