October 1: October 8: Stable matching, graph-searching algorithms, how does a program in Pascal look. Presentation.

October 15: Basic control structures (if, while, for), basic notions of computational complexity. Presentation.

October 22: Arrays, sieve of Eratosthenes, unary and binary searching in the array, Horner's method, how to define (and call) functions and procedures, global and local variables. Presentation.

October 29: Precomputation (maximum constant submatrix), nested functions, introduction to the recursion (simple problems solved by recursion). Presentation.

November 5: Enumerated data-types, control structure "case ... of ...", compiler directives, files (text files). Presentation.

November 12: Structures (data type "record"), binary files. Presentation.

November 19: Simple sorting algorithms, units. Presentation.

November 26: Standard units, pointers. Presentation.

December 3: Directive "forward", linear lists (note that terminology "linked list" may be used instead). Queue, buffer, binary trees, binary search trees, the notion of balancedness. Presentation.

December 10: AVL-trees, red-black-trees, A-B-trees, canonical representation of k-ary tree with a data structure for binary tree. Presentation.

December 17: A-sort, sparse polynomials and matrices, low-level access to memory, hashing, heaps, arithmetic expressions, notations and conversion between them. Presentation.

January 7: (expected): Long numbers and their representation, graph representations, graph algorithms.

November 19: Source code EX5.PAS that I did not debug fully at the lecture. Mistakes are denoted in the source-code!