Class at Faculty of Mathematics and Physics |

NMTD103

* Python programming language

- Python as a calculator

- integers

- float numbers and accuracy problems

- operators and their priorities

- assignment

- conditions and cycles (while)

- program structure: comments, indentation

- basic input() and print()

- program debugging, using the development environment (IDLE/PyCharm)

- for loop, range()

- break, continue

- lists used as fields

- the list assignment assigns only the link

- function definition and function call

- optional parameters

- abstraction and modularity of programs

- local identifiers and their visibility

- recursion principle

- functions passing to other functions

- lists and their operations

- queue and stack

- iterating over a list

- cuts

- list comprehension

- strings

- use of libraries, import

- graphs drawing using matplotlib

- details of type system

- tuples

- dictionaries and operations with them

- exceptions and their catching

- classes and objects

- description of reality using objects

- type derivation, inheritance

- working with files

- standard library

* Basic algorithms

- time complexity

- decomposition of numbers into digits

- Euclidean algorithm

- prime numbers calculated by dividing till the square root

- factorization

- evaluation of polynomials (Horner's scheme)

- the k’th smallest element computed in time k*n

- Eratosthenes sieve

- matrix multiplication

- Gauss elimination

- elementary sorting algorithms

- binary search

- finding the roots of functions: halving the interval, linear interpolation

- merging sorted sequences

A basic course of programming for first-year students. The course covers programming in Python, basic algorithms and data structures and practical program design and debugging.