Assistant (Lab): Sebastian Jackel

Part of the material has been derived from work by others; see the particular files for credits.

- 02.11.2010:
**Lecture: Introduction** - 03.11.2010:
**Lecture: Big-step Operational Semantics** - 08.11.2010:
**Lab: Simple exercises in Prolog** - 09.11.2010:
**Lecture: Small-step Operational Semantics** - 10.11.2010:
**Lecture: Type Systems** - 15.11.2010:
**Lab: Semantics and Types in Prolog** - 16.11.2010:
**Lecture: The Untyped Lambda Calculus** - 17.11.2010:
**Lecture: The Simply Typed Lambda Calculus** - 22.11.2010:
**Lab: More on Types in Prolog** - 23.11.2010:
**Lecture: Implementing Lambda Calculi in Prolog** - 24.11.2010:
**Lecture: Lambda Calculi with Polymorphism** - 29.11.2010:
**Lab: Lambda Calculi in Prolog** - 30.11.2010:
**Lecture: The Calculus of Communicating Systems** - 06.12.2010:
**Lab: CCS in Prolog** - 07.12.2010:
**Preparation for the Midterm** - 08.12.2010:
**Lecture: Introduction to Haskell** - 13.12.2010:
**Lab: First Steps in Haskell** - 14.12.2010:
**Lecture: Introduction to Haskell cont'd** - 15.12.2010:
**Lecture: Introduction to Haskell cont'd** - 20.12.2010:
**Lab: More Steps in Haskell** - 21.12.2010:
**Midterm exam** - 22.12.2010:
**No Lecture** - 10.01.2011:
**Midterm Exam Review** - 11.01.2011:
**Lecture: Introduction to Haskell cont'd** - 17.01.2011:
**Lab: Becoming fluent in Haskell** - 18.01.2011:
**Lecture: Denotational Semantics** - 19.01.2011:
**Lecture: Program Analysis** - 24.01.2011:
**Lab: Denotational Semantics in Haskell** - 25.01.2011:
**Lecture: The Expression Problem** - 26.01.2011:
**Lecture: Haskell's Type Classes** - 31.01.2011:
**Lab: Type Classes and Extensibility** - 01.02.2011:
**Parallelism I/II** - 02.02.2011:
**Parallelism II/II** - 07.02.2011:
**Lab: Going Bananas** - 08.02.2011:
**Preparation for the Final** - 09.02.2011:
**Lecture: Monads** - 14.02.2011:
**Lab: Q&A** - 15.02.2011:
**Course announcement** - 16.02.2011:
**Final exam**

- Assignments and solutions (svn access)
- Past examinations: [*.pdf]
- Twitter: @yaplcourse (used instead of email where appropriate)
- Newsgroup: infko.paradigms (used for untwittable subjects)
- Syllabus: [.html]

You need to have access to the following repository.

Access rights will be granted by the lab assistent eventually.

Contact the lab assistant for svn-access-related requests.

- Slides by Wlodek Drabent: Programming Theory (2009)
- Slides by Graham Hutton: Programming in Haskell (2007)
- Slides by Jaakko Järvi: Programming Languages - CPSC 604 (2009)
- Slides by Nielson and Nielson: Semantics with Applications (1999)
- Slides by Martin Odersky (Benjamin Pierce): Foundations of Software (2008)
- Slides by Wolfgang Schreiner: Formal Models for Parallel and Distributed Systems (2009)

- Graham Hutton: Programming in Haskell, Cambridge University Press, 2007; also refer to additional material on the author's web site for the book.
- Hanne Riis Nielson, Flemming Nielson: Semantics with Applications: A Formal Introduction, Wiley, 1992; Revised version of 1999 available online [.pdf].
- Benjamin C. Pierce: Types and Programming Languages, MIT Press, 2002; also refer to additional material on the author's web site for the book.

- Different courses on logic programming: course material by Alan Frisch, Daniel Kudenko, and others: Logic Programming and Artificial Intelligence ; Frank Pfenning: Logic Programming; CLIP team et al. in Madrid: Computational Logic; use a course like this and a book like the one mentioned on the course site if you are not yet up to speed with logic programming (assumed by this course).
- Course material by Wolfgang Schreiner: Formal Models for Parallel and Distributed Systems; we are only sketching the area of process calculi; use this material to learn more about this topic if you like.
- Course material and book by Nielson et al.: Principles of Program Analysis; we are only sketching the area of program analysis; use this material to learn more about this topic if you like.

maintained by Ralf Lämmel (Email: rlaemmel@gmail.com)