Staff
- Lecturer: Prof. Dr. Ralf Lämmel
- Lab assistant: MSc Informatik Marcel Heinz
- Assignment assistant: Matthias Paul
Exam
- Final: Last lecture slot; same room; same time; register via KLIPS
- Resit: See PLT course in SS16
- Student ids will be checked.
- You need to have a valid admission for the exam; see rules below.
- You *must* register through KLIPS:
- "Theorie der Programmiersprachen" for current exam rules
- "Programmierparadigmen" for previous exam rules
Links
- Timeless course portal (Wiki)
- KLIPS: lecture; lab
- Curriculum: Module 04IN1024
- Past exams: *.pdf (requires uniko login)
- Facebook: Private group for course
Lectures
Time and place
Lectures Wednesdays, 10:15-11:45, Room K 107.
Lecture topics
- Introduction
- Abstract and concrete syntax
- Language interpretation
- Big- and small-step semantics
- Type systems
- Lambda calculus
- Denotational semantics (13 Jan)
- Partial evaluation (20 Jan)
- Abstract interpretation (27 Jan)
- Preparation final (3 Feb)
- Final (10 Feb)
Lecture notes and slides
- The notion of software language [.pdf]
- The syntax of software languages [.pdf]
- Language interpretation [.pdf]
- Operational semantics [.pdf]
- Type systems [.pdf]
- The lambda calculus [.pdf]
- Denotational semantics [.pdf]
- Partial evaluation [.pdf]
- Abstract interpretation [.pdf]
Lecture code
We are typically concerned with these languages:
Labs
Labs start "st".
Date | Topic | SVN folder |
---|---|---|
04.11.2015 | Concrete and Abstract Syntax | 1st lab |
11.11.2015 | basic interpreters | 2nd lab |
18.11.2015 | Formal notations on SS vs BS | 3rd lab |
25.11.2015 | Implementing SS vs BS | Solutions only |
02.12.2015 | Type systems | 5th lab |
09.12.2015 | Untyped Lambda | 6th lab |
16.12.2015 | Various Lambda Calculi | 7th lab |
20.01.2016 | Type Systems and DS | Solutions only |
27.01.2016 | Partial Evaluation | Solutions only |
04.02.2016 | Exam preparation | 10th lab |
Assignments
Link | Date published | Deadline (end of day) |
---|---|---|
#1 | 4 Nov 2015 | 10 Nov 2015 |
#2 | 11 Nov 2015 | 17 Nov 2015 |
#3 | 18 Nov 2015 | 24 Nov 2015 |
#4 | 25 Nov 2015 | 01 Dec 2015 |
#5 | 02 Dec 2015 | 08 Dec 2015 |
#6 | 17 Dec 2015 | 12 Jan 2016 |
#7 | 13 Jan 2016 (E-mail) | 19 Jan 2016 |
#8 | 20 Jan 2016 (E-mail) | 26 Jan 2016 |
You can find your student folder, where you have to commit under https://svn.uni-koblenz.de/softlang/pltcourse/plt1516/students/ <student id>
See details concerning admission at the bottom of this page. Create assignment folders with a name pattern as follows: "assignment"+nr. where nr has two digits (00 .. 99), e.g. "assignment01".
Please commit your solutions either as .txt or .pdf files. If the assignment is about programming (e.g., in Haskell), please commit the relevant source-code files. Do not commit source-code in .pdf format!
Reference solutions are published via svn: https://svn.uni-koblenz.de/softlang/pltcourse/plt1516/public/solutions/
Examination rules
- Admission rules for final:
- Each student must submit at least 2 solutions with score 2.
- Each student must submit at least 5 solutions with score 1 or 2.
- Each student must present 1 solution.
- Exam admission is inherited from previous editions ever since 2010/11.
- Explanation:
- There will be 8 assignments in total.
- The svn repo will be communicated by lab assistant.
- Student submissions are checked by assignment assistant.
- Each assignment is graded with either of the following scores:
- 0: "missing or largely incomplete and/or largely incorrect"
- 1: "noticeably incomplete and/or noticeably incorrect"
- 2: "nearly or completely complete and nearly or completely correct"
- An assignment may offer options from which students can choose.
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. All submitted solutions are reviewed by the assignment assistant. The lab assistants calls up students to present their solution. The idea is to give strong preference to somewhat complete and correct solutions (scores 2 or 1) and to students who had not yet presented before. As there may be multiple assignment options and different solution options, there may be a multiple student presentations during each lab.