No. | Date | Topic |
---|---|---|
1. | 17.2 | Introduction to declarative programming languages. Comparison to classical imperative languages. Introduction to programming for artificial intelligence. |
2. | 24.2 | Lisp and Scheme: basic language idioms, atoms, lists, recursion. |
3. | 3.3 | Scheme: lambda abstraction, built-in functions, advanced data structures. |
4. | 10.3 | Scheme: relations between iterations and tail recursion optimisations guaranteed by the language standard, built-in high-order functions. |
5. | 17.3 | Scheme: state space search, applications in artificial intelligence. |
No. | Date | Topic |
---|---|---|
6. | 24.3 | Haskell: types, patterns, built-in functions, lambda abstraction. |
7. | 31.3 | Haskell: advanced properties of the language in comparison to Scheme. |
Prolog (we follow Peter Flach's Simply Logical course book)
No. | Date | Topic |
---|---|---|
8. | 7.4 | Prolog: facts, rules and queries. Recursion. Query answering. |
9. | 14.4 | Functions, unification, list operations. |
10. | 21.4 | Prolog and logic: clauses, Herbrand base, interpretation, model, closed-world assumption, decidability. |
11. | 28.4 | Cut and negation. Extralogical operators, arithmetics. |
12. | 5.5 | Combinatorial search in Prolog. |
13. | 12.5 | Constraint logic programming. |
14. | 19.5 | Definite clause grammar. |