Staff
Lecture: Prof. Dr. Ralf Lämmel
Lab: Andrei Varanovich
Exam
- Resit: 28.5.14; 10.15; D 239
- Final: 5.2.14 (last lecture slot)
- Student ids will be checked.
- You need to have a valid admission for the exam.
- You *must* register with KLIPS (watch out for "Programmierparadigmen" if you are subject to the old exam rules).
Links
- Timeless course portal (Wiki)
- KLIPS: lecture; lab
- Curriculum: Module 04IN1024
- SVN repo for students
- Open-source repository with some material
- Public web area with material
- Reference solutions
- Supporting resources
- Past exams: *.pdf (requires uniko login)
- Twitter: @yaplcourse and @reallynotabba
- Facebook: Private group for course
Lectures
Lectures start "ct".
Logs of programming-based lectures are released here:
https://github.com/rlaemmel/pltcourse/tree/master/src/lecture-logs/unikold1314
Lists of topics and resources:
- Interpreter and typechecker for a simple expression language: [Prolog code on GitHub]
- Interpreter of the functional factorial language: [Prolog code on GitHub]
- Interpreter and typechecker of the imperative while language: [Prolog code on GitHub]
- Big-step and small-step semantics: [Slides .pdf]
- The untyped lambda calculus: [Prolog code on GitHub]
- Untyped, applied, simply-typed, polymorphic lambda calculi: [Slides .pdf]
- Haskell code illustrating fixed point computation: [Haskell code on GitHub]
- Prolog encoding of the typing rules for the lambda calculus: [Prolog code on GitHub]
- Interpreter and typechecker for a simple expression language: [Haskell code on GitHub]
- Denotational semantics: [Slides .pdf]
- Featherweight Java: [Slides .pdf]
- The Calculus of Communicating Systems : [Slides .pdf]
Labs
Lectures start "st".
See the previous edition for inspiration.
http://softlang.wikidot.com/course:plt1213
Assignments
- Assignment 1
- Assignment 2
- Assignment 3
- Assignment 4
- Assignment 5
- Assignment 6
- Assignment 7
- Assignment 8
- Assignment 9
Examination rules
- Admission rules for final:
- Assemble teams of 2-3 members and sent team id + uniko logins to ed.znelbok-inu|hcivonarav#ed.znelbok-inu|hcivonarav.
- Each team submits 7 acceptable solutions of 10 assignments by the deadline through the svn repo.
- Each team presents 3 invited solutions.
- Exam admission is inherited from winter semesters 2012/13, 2011/12, and 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 presentations by invited and additional teams. 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.) The lab assistant also reviews submitted solutions to prepare the discussion in the lab by inviting teams for presentation. If time permits during the lab, solutions in addition to the invited ones can be presented, but such presentations do not count in the sense of the above-mentioned rule that each team presents 3 invited solutions. The use of invitations helps assembling a good set of presentations for the lab and distributing assignments over timeline, complexity scale, and teams.