| No. | Date | Topic |
|---|---|---|
| 1. | 17.2 | Scheme. First look at Scheme and its environment. Program debugging. Basic examples. Recursion. Accumulator. |
| 2. | 24.2 | Operations with lists. |
| 3. | 3.3 | Lambda abstraction. Tail recursion. High-order functions. |
| 4. | 10.3 | Applications of Scheme. |
| 5. | 17.3 | Solving combinatorial problems: permutation generation, power set generation. |
| 6. | 24.3 | Haskell. First look at Haskell and its environment. Program debugging. Basic examples. |
| 7. | 31.3 | Haskell's type system. Automatic types and corresponding functions derivations. |
| 8. | 7.4 | Prolog as a database: Facts, queries, simple recursion and Prolog search strategy. Assignment 1 |
| 9. | 14.4 | Unification, Lists, Proof trees for recursive predicates. |
| 10. | 21.4 | Cut, Tail-recursion, Efficient programming with cut. |
| 11. | 28.4 | Search algorithms. |
| 12. | 5.5 | Search algorithms II. |
| 13. | 12.5 | Constraint logic programming. |
| 14. | 19.5 | Dynamic predicates, credits. |