Algorithmization and programming I
University class on Python programming in the first semester of the first year.
Syllabus
- Basic terminology of object-oriented programming, objects (values) of basic classes (numbers, logical values) and operations or methods over them
- Variables, standard input and output, program branching (if-then construct)
- User functions (input parameters, return values, variable visibility area), tuples
- Strings and methods over strings, indexing, modifiable referenced values (reference semantics)
- Loops (while and for), premature termination of loops
- Lists (interfaces), asymptotic (time) complexity
- Key algorithms over lists (e.g. duplication, filtering, reduction)
- Dictionaries (interfaces, use for representing associative arrays, sparse arrays, and caches)
- Hash tables (internal implementation, hash functions)
- File input and output (text)
- Input and output to files (binary), byte arrays
- Exceptions and basic exception handling, context manager (with) used in resource management
- Final summary