* 1. Programming language Pascal
- modular programming, units
- pointer, dynamic allocation variables
- object programming
* 2. Algorithms and programming
- heaps and heap operations
- recursive sorting (quicksort, mergesort)
- bucketsort, radixsort
- finding of the k-th smallest element (quickselect)
- external sorting (file sorting)
- dynamic data structures
- linked list operations
- using of linked lists - stack and queue, long numbers, polynoms
- trees, graphs, basic algorithm on them
- binary search trees, opearations, balanced binary trees (AVL trees)
- multiway trees (B-trees)
- arithmetic notations, representing and evaluating arithmetic expressions
- dynamic programming
- basic graph algorithms
Input knowledge according to the course NMIN101 Programming 1 is expected.
The second part of basic course of programming for students of mathematics. Beside programming in Pascal it covers the main problems of algorithm and program design.