Mathematical models I.
Description:
The aim of the course is to introduce the first-year students to Python programming via mathematical and data-driven problems. We use Python because it is widely used in industry and research, is well-suited for working with algorithms and data-related problems, enables symbolic computation via specialized packages, and is supported by the most popular notebook framework, Jupyter. The course is driven by the following aspects: mathematics and programming are used simultaneously, meeting industrial standards through modern infrastructure, and applying symbolic and interactive tools to deepen mathematical topics.
Curriculum:
I. Handling tabular data with numpy
- OOP 1: class, instance, constructor, methods, attributes
- basics of Python: variables, data structures, data types
- numpy: vectorized operations, broadcasting, logical indexing
II. Symbolic calculations with sympy
- linear algebra: linear equations, matrices
- calculus: differentiation, integration
III. Interactive applications, visualization practices
- geometric transformations
- functions, transformations on functions
- 2D graphics
IV. k-means clustering
- basics of data handling with pandas
- k-means clustering
V. Basics of object-oriented programming in Python
- OOP 2: inheritance, static method, visibility
- clean code: documentation, PEP8 design
Evaluation:
- Coding test (15 pts)
- Coding project on a topic from elementary mathematics (35 pts)