# Модуль 01. Python и NumPy для вычислений Плановый срок: **недели 2–3**. ## Цели - писать чистый Python-код для обработки данных - понимать формы, broadcasting, типы и векторизацию NumPy - оценивать корректность и скорость вычислений ## Предварительные знания Пройдите модуль 00; нужны рабочее Python-окружение, базовый синтаксис Python и умение запускать тесты. ## Теория 1. [Функции, классы, итераторы, comprehensions и исключения](notes/01_python_data_model.md) 2. [Массивы NumPy: shape, axis, dtype, indexing и broadcasting](notes/02_numpy_arrays.md) 3. [Векторизация, сложность, профилирование и модульные тесты](notes/03_vectorization_testing.md) Термины модуля: [`notes/glossary.md`](notes/glossary.md). Для каждого урока: прочитайте теорию, воспроизведите ключевой пример своими руками и запишите три тезиса без подсказки. Формулы из этого модуля нужно уметь связать с кодом и наблюдаемым поведением модели. ## Задания - [`assignments/01_vectorization.md`](assignments/01_vectorization.md) — Векторизация расстояний - [`assignments/02_linear_layer.md`](assignments/02_linear_layer.md) — Линейный слой с нуля - [`assignments/03_clean_code.md`](assignments/03_clean_code.md) — Мини-библиотека метрик ## Завершение модуля Модуль завершён, когда все задания удовлетворяют критериям приёмки, вы можете объяснить основные решения без ноутбука и получили review.