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!