Programming Languages I - University of Tübingen
The exam takes place on Thursday, 21.7.2016, 13.15h in A301.
- April 11. Lecture: Introduction, Scala Basics
- April 13. Lecture: Desugaring, Arithmetic Expressions, Visitors
- April 18. Lecture: Name Binding and Lexical Scoping
- April 20. Exercises CANCELED due to illness
- April 21. Exercise: Shape language
- April 25. Lecture: First-Order Functions
- April 27. Exercise: Binding and Free Variables. Includes solution to first homework.
- April 28. Lecture: Higher-Order Functions
- May 2. Lecture: Lazy Evaluation
- May 4. Exercise: Booleans, Laziness in Scala. Includes solution to second homework.
- May 9. Lecture: Recursion
- May 11. Exercise. Interpreting CBV and CBN. Meta-level vs object-level. Includes solution to third homework.
- May 12. Lecture: Mutation
- May 16-19: Pfingstpause, no lectures/exercises.
- May 23. Lecture: Garbage Collection
- May 25. Exercise.
- May 26. No lecture due to holiday.
- May 30. Lecture: Syntactic vs Meta, Church Encoding
- June 2. Lecture: Object Algebras
- June 6 and 9. Lecture: Programming in Continuation-Passing Style
- June 8. Exercise.
- June 13. Lecture: CPS Transformation, letcc examples
- June 15. Lecture: Letcc, First Class Continuations
- June 16. Exercis: Exercise notes and solutions 7th homework.
- June 20 and 23. Lecture: Monads
- June 27. Lecture: Defunctionalization
- June 30. Lecture: Type Systems
- July 4. Lecture: Simply-typed Lambda Calculus
- July 6. Exercise.
- July 7. Lecture.
- July 11. Lecture
- July 13. Exercise.
- July 14. Lecture.
- 1st homework
- 2nd homework
- 3rd homework
- 4th homework
- 5th, 6th, 7th homework: in our forum.
- 8th homework
- 9th homework. This is in Markdown format, hence designed to be viewed in the browser from GitHub.
- 10th homework, again in Markdown format. This is the last homework.
Homework policy: to be admitted to the exam, hand in reasonable solutions to all but two homeworks.
Our lecture has now a forum on https://forum-ps.informatik.uni-tuebingen.de/c/pl1.
Please register to the forum to ask and discuss questions on lectures/homeworks, just don't post solutions to the homeworks!