1. Основы синтаксиса языка. Переменные. Выражения. Функции. Условные операторы и циклы. 2. Работа с коллекциями. Методы коллекций. Перебор коллекций. Условные выражения и коллекции. Сравнение коллекций. Сборщик мусора. 3. Ошибки и исключения Синтаксические ошибки. Исключения. Генерирование и перехват исключений. Ключевые слова try, except, finally, raise. Поток выполнения при порождении и перехвате исключения. 4. Работа с файлами Методы open и close. Конструкция with as. Чтение и запись данных в различных кодировках. Директории. Запись переменных в файл (модуль pickle). Чтение и запись в формате csv. Чтение и запись в формате json. 5. Модули и пакеты Подключение модулей инструкцией import. Различные синтаксисы import. Выполнение модуля как скрипта. Пути поиска. dir() "Компиляция" модулей. Пакеты. Импорт внутри модуля (. и ..). 6. ООП Принципы ООП. 7. Объекты, типы и классы Определение класса. Создание экземпляра. Конструктор и деструктор. Время жизни объекта. Инкапсуляция и доступ к свойствам. Полиморфизм. 8. Отношения между классами Композиция Наследование и множественное наследование. Порядок разрешения доступа к методам и полям. 9. Методы. Метод. Статический метод. Метод класса. Мультиметоды. 10. Итераторы 11. Генераторы 12. Декораторы 13. Технология разработки ПО. Отладка. Тестирование. Профилирование. 14. Обзор математических библиотек и пакетов Python. Установка пакетов и средств разработки. Запуск скрипта в консоли и работа в интерпретаторе. IPython Notebook. Онлайн и офлайн разработка. 15. Вектора, матрицы и многомерные массивы (numpy). Пакет numpy. Объект array пакета numpy. Создание массива. Обращение к элементам массива и срезы. Векторизация выражений. Операторы и методы numpy работы с массивами. 16. Основы символьных вычислений Пакет sympy. Определение символа. Задание дополнительной информации о символах (действительное, целое, ограничено и тп). Числа. Действительные, целые, дроби. Заданные константы и специальные символы. Функции. Выражения. Разбор и исполнение выражения. Операции над выражениями. simplify, expand, factor, collect. Тригонометрические функции trigsimp и expand_trig. Работа с дробями: apart, together, cancel. Подстановка выражений и вычисление численного значения. Взятие производных, интегралов, разложение в ряды и нахождение пределов, сумм и произведений последовательностей. 17. Линейная алгебра (sympy) Матрицы и операции над ними. Решение систем линейных уравнений. 18. Построение графиков (mathplotlib) 2D графики. Графики функций. Графики функций, заданных параметрически. Различные типы графиков: линейный, точками, гистограммы, векторные поля, заливки, погрешности. Контурная диаграмма, проволочная контурная диаграмма. Оси: разметка, надписи, сетки. Логарифмическая шкала. Полярная система координат. Различные шкалы на одном графике. Компоновка нескольких графиков на одном изображении. 3D графики. Заливка, проволочные, проекции. 19. Решение нелинейных уравнений и систем нелинейных уравнений. 20. Интерполяция Постановка задачи интерполяции. Различные типы интерполяционных многочленов. Интерполяция алгебраическими многочленами. Интерполяция многочленами Чебышева, Лагранжа и Лаггера. Интерполяция сплайнами. Отношения между классами Выбор модуля для решения задачи: numpy, sympy или scipy. 21. Экстраполяция Постановка задачи экстраполяции. Метод наименьших квадратов. 22. Интегралы Методы численного интегрирования. Численное интегрирование в scipy. Взятие интеграла по набору значений функции. Выколотые точки. Кратные интегралы. Взятие интегралов в символьном виде или в численном виде с произвольной точностью. 23. ОДУ Символьное решение ОДУ. Решение прикладных физических и математических задач. Использование преобразования Лапласа для решения ОДУ. Численные методы решения ОДУ. 24. Обработка и анализ данных Пакет pandas. Series, DataFrame, работа с датами. Визуализация данных. Графическая библиотека Seaborn.