Mathematical models I.

Description:

The aim of the course to introduce the first-year students to the Python programming via mathematical and data-driven problems. We use Python, since it is widely used in the industry and even research, proper for working with algorithms and data-related problems, enables symbolic computation via special packages and supported by the most population notebook framework, the Jupyter. The course is driven by the following aspects: mathematics and programming are used at the same time, fulfilling the industrial standards via working with modern infrastructure and forcing working in groups, applying symbolic and interactive tools for deepening 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

  • algebra: polynomials, solving equations on different domains
  • linear algebra: linear equations, matrices
  • calculus: differentiation, integration

III. Interactive applications, visualization practices

  • geometric transformations
  • functions, transformations on functions
  • 2D, 3D graphics

IV. Handling tabular data with pandas

  • pandas: reading data, transformations, visualizations

V. Basics of object-oriented programming in Python

  • OOP 2.: inheritance, static method, visibility
  • clean code: documentation, PEP8 design, exception handling

Evaluation:

  1. Quizzes (20 pts)
  2. Project about coding for an topic from elementary mathematics (30 pts)
  3. Complex project (group work, implementation + presentation) (50 pts)