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:

  1. Coding test (15 pts)
  2. Coding project on a topic from elementary mathematics (35 pts)