Связаться с приемной комиссией

Меню раздела

Основное меню

Для уровней подготовки:
Магистратура

Программирование на Python для решения научно-вычислительных задач

Уровни подготовки:
  • Магистратура

Общая трудоемкость курса, акад.ч.: 72

Лекции, акад.ч.: 16

Практические занятия, акад.ч.: 16

Самостоятельная работа, акад.ч.: 40

Вид итогового контроля: Зачет

Цели курса:
  • формирование у студентов общих представлений о процессе решения научно-вычислительных задач с применением языков программирования;
  • получение студентами навыков программирования на языке программирования общего назначения Python с применением функционального и объектно ориентированного подходов;
  • приобретение студентами опыта решения прикладных научно-вычислительных задач на языке программирования общего назначения Python c применением вычислительных и графических библиотек (NumPy, SciPy, MatPlotLib и др.).
  • Ведущий преподаватель: А.С. Васильев
Задачи курса:
  • ознакомление обучающихся с основами и приемами применения языка программирования общего назначения Python для решения научно-вычислительных задач;
  • формирования у обучающихся опыта работы с библиотеками расширения вычислительной и графической направленности;
  • приобретение обучающимися навыков самостоятельного составления алгоритмов программ с применением библиотек расширения, и создания собственных библиотек.

Базовые знания:
Программа курса предполагает, что обучающиеся имеют базовые знания о работе с компьютером, а также основы высшей математики изученные на первых курсах обучения в университете.

Содержание курса:
1. Мультипарадигменный язык программирования Python: обзор. Особенности и свойства функционального и объектно–ориентированного программирования (ООП). Принципы использования дистрибутива Anaconda. Среды разработки Spyder, Jupiter. Основные типы данных (числовые и коллекции) и операции над ними. Алгоритмы. Основные алгоритмические конструкции (следование, ветвление, циклы) и их реализация в Python.
2. Введение в программирование на языке Python. Структура программы, отступы, модули, операторы, функции (именованные и анонимные), особенности. Встроенные и импортируемые функции Python (общего назначения, математические, обработка строк, ввод/вывод).
3. Разработка алгоритмов, программирование и отладка программ на Python.
4. Обзор предметно-ориентированной библиотеки модулей Python для научных и инженерных вычислений SciPy (модули scipy и numpy, а также matplotlib).
5. Основной тип данных NumPy для векторных и матричных вычислений - ndarray. Особенности выполнения действий над матрицами (сложение, вычитание, умножение, обращение) на языке Python. Информационные матричные функции (норма, определитель, ранг). Методы и свойства ndarray – T, copy, shape, size, ndim и др., индексирование, матричное произведение и функции модуля numpy len, shape, zeros, eye, dot, isclose, linspace, gradient, linalg.det.
6. Построение графиков в Python с использованием модуля matplotlib. Функции модуля matplotlib.pyplot plot, scatter, hist, polar, plot_surface, colorbar, contour, quiver. Установка параметров и аннотирование графиков. Объектно-ориентированный подход реализации алгоритма построения графиков в matplotlib.
7. Численные методы. Реализация простейших алгоритмов в среде Python.
8. Численные методы, характеристика и их особенности, понятие сходимости метода. Элементы теории погрешностей, классификация погрешностей, абсолютная и относительная погрешность, понятие функции нормы. Введение в статистику. Алгоритмы для статистической обработки информации (вычисление точечных и интервальных оценок результатов измеряемой величины), их реализации в Python. Статистические функции модулей SciPy и NumPy.
9. Приближение функций. Интерполяция многочленами. Кусочная интерполяция (сплайн). Оценка погрешности. Функции модуля NumPy для работы с многочленами.
10. Вычисление определенных интегралов, алгоритмы методов прямоугольников, трапеций и Симпсона, оценка погрешности методов. Решение задачи Коши для нахождения решения системы обыкновенных дифференциальных уравнений (ОДУ). Самостоятельная реализация алгоритмов численных методов вычисления определенных интегралов на языке Python и использование функций модуля SciPy.
11. Исследование функции одной переменной. Решение нелинейного уравнения f(x)=0.
12. Отделение корней. Алгоритмы уточнения корня (метод половинного деления, Ньютона, простой итерации). Сравнительные характеристики. Реализация алгоритмов на языке Python по блок- схемам и с использованием функций модулей SciPy и NumPy.
13. Исследование функции одной переменной. Поиск экстремума функции Вычислительные алгоритмы нахождения локальных и глобальных экстремумов (метод деления отрезка пополам, метод золотого сечения), их реализации по блок-схемам и с использованием функций модулей SciPy и NumPy на языке Python.

Оставить заявку на курс


Название курса *
Это поле обязательно для заполнения
ФИО *
Это поле обязательно для заполнения
Номер группы *
Это поле обязательно для заполнения
Факультет (институт) *
Это поле обязательно для заполнения
Пройдите проверку:*
Поле проверки на робота должно быть заполнено.
Необходимо ваше согласие на обработку персональных данных
Top