Course "Programming Language Theory" WS 2014/15


Lecture: Prof. Dr. Ralf Lämmel

Lab: Marcel Heinz


  • Final: 20.02.2015, 12:45-14:00 K101
  • Resit: ??.??.15 (probably in late April in SS15)
  • Student ids will be checked.
  • You need to have a valid admission for the exam; see rules below.
  • You *must* register with KLIPS:
    • "Programmierparadigmen" for "old" exam rules
    • "Theorie der Programmiersprachen" for current exam rules



Lectures start "st".

Code from the lectures may be released here:

Slides (if any) from the lectures may be released here:

Lists of topics and resources:


Labs start "st".

Material and demos from the lab are available via svn:


Link Date published Deadline (end of day)
#1 4 Nov 2014 10 Nov 2014
#2 12 Nov 2014 17 Nov 2014
#3 19 Nov 2014 24 Nov 2014
#4 26 Nov 2014 1 Dec 2014
#5 3 Dec 2014 8 Dec 2014
#6 10 Dec 2014 15 Dec 2014
#7 14 Jan 2015 19 Jan 2015
#8 14 Jan 2015 26 Jan 2015
#9 28 Jan 2015 2 Feb 2015
#10 4 Feb 2015 9 Feb 2015

Reference solutions are published via svn:

#10 is a bonus assignment.

Examination rules

  • Admission rules for final:
    • Assemble teams of 3-4 members, create a svn repo at, grant access to heinz, laemmel, and softlang, and send the login names of team members and the svn repo URL to ed.znelbok-inu|znieh#ed.znelbok-inu|znieh with "plt1415" in the subject line. (Note: you must use the assignment numbers 1, 2, … as top-level directory names in your repo.)
    • Each team must submit at least 6 acceptable solutions of 9 assignments by the deadline through their svn repo. Assignments may break down into multiple options. In this case, a team's solution is considered, if at least one of the options is acceptable.
    • Each student must present one solution successfully once.
    • Exam admission is inherited from previous editions ever since 2010/11.

Rationale: The assignments are designed to help understand all material covered in the lecture. Also, the assignments help with effective preparation for the exam. Upcoming assignments are discussed briefly in the lab. Completed assignments are discussed in detail in the lab on the grounds of student presentations and a reference solution prepared by the lab assistant. All submitted solutions are briefly reviewed by the lab assistant to determine whether the solutions are "acceptable". The criteria for accepting a solution are discussed and calibrated in the lab. (Essentially, simple assignments must be solved more or less correctly and completely whereas more complex assignments may already be acceptable if there is an insightful approach to the problem that is perhaps not carried through correctly or completely.) The lab assistants calls up students to present their solution. The idea is to give strong preference to students who had not yet presented before. As there are typically multiple assignment options and different solution options as well, there could be a number of student presentations.