On this page, links to all lecture notes will be published, usually soon after the lecture has been given.
Lecture 1: Course and subject overview,
language definition
Lecture notes
Isak's and Tobias' slides
Lecture 2: Parsing, names, binding and scope
Lecture notes
Lecture 3: Expressions, assignments and
statements
Lecture notes
Lecture 4: Subprograms, abstractions,
encapsulation, ADT
Lecture notes
Lecture 5: What is OO? Class vs. Prototype
Lecture notes
Lecture 6: Inheritance vs. delegation,
method vs. message
Lecture notes
Lecture 7: Cancelled
Lecture 8: Logic programming I
Lecture notes
Lecture 9: Logic programming II
Lecture notes
Lecture 10: Logic programming III
Lecture notes
Lecture 11: Logic programming IV
Lecture notes
Lecture 12: Functional Programming I:
Foundations - history and lambda calculus
Lecture notes
Lecture 13: Functional Programming II:
Introduction to Clojure
Lecture notes
Lecture 14: Functional Programming III:
Functional Programming in Clojure
Lecture notes
Lecture 15: Functional Programming IV:
Laziness, Seqs and Macros
Lecture notes