• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2019/2020

Компьютерный практикум по алгебре на языке Python

Статус: Курс по выбору (Программная инженерия)
Направление: 09.03.04. Программная инженерия
Когда читается: 1-й курс, 2, 3 модуль
Формат изучения: без онлайн-курса
Преподаватели: Жукова Галина Николаевна, Иванова Елена Дмитриевна
Язык: русский
Кредиты: 3
Контактные часы: 36

Программа дисциплины

Аннотация

Курс состоит из практических занятий в компьютерном классе, на которых студенты решают задачи по линейной алгебре и аналитической геометрии, используя такие пакеты Python как Numpy, Sympy и пр. Дисциплина относится к проектной и исследовательской работе и является дисциплиной по выбору. Курс охватывает такие разделы алгебры как численные и символьные преобразования, действия над матрицами, системы линейных уравнений, линейные операторы, квадратичные формы и комплексные числа. В курсе также изучаются методы решения задач аналитической геометрии, связанные со взаимным расположением прямых на плоскости и прямых и плоскостей в пространстве. Для решения задач используются средства Python. На занятии на примере конкретной задачи преподаватель показывает, как применяется тот или иной математический аппарат. Далее студенты выполняют аналогичные задания самостоятельно, консультируясь, если нужно, с преподавателем. Затем студенты самостоятельно решают свою индивидуальную задачу. Решение всех задач каждого занятия студенты показывают преподавателю или учебному ассистенту, отвечают на вопросы по решению. Задание каждого практического занятия оценивается по 10-балльной шкале. В конце курса студенты сдают письменный экзамен, на котором отвечают на теоретические вопросы, связанные с решением алгебраических задач в Python.
Цель освоения дисциплины

Цель освоения дисциплины

  • приобретение студентами навыков решения наиболее важных с прикладной точки зрения задач
Планируемые результаты обучения

Планируемые результаты обучения

  • Уметь решать системы линейных уравнений средствами Python
  • Исследовать взаимное расположение прямых и плоскостей средствами Python
  • Исследовать кривые и поверхности второго порядка
  • Находить корни многочленов в Python
  • Контролировать точность вычислений в Python
  • Уметь проводить вычисления в Python
  • Осуществлять переход к новому базису
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Вычисления в Python
    Численные и символьные преобразования. Действия над матрицами. Вычисление определителей. Обратная матрица.
  • Программирование в Python
    Основы программирования в Python. Условный оператор. Циклы. Функции.
  • Системы линейных уравнений в Python
    Классификация СЛАУ, ранг СЛАУ, вычисление ранга. Точные методы решения СЛАУ: формулы Крамера, метод Гаусса. Итерационные методы решения СЛАУ. Переопределенные СЛАУ. Недоопределенные СЛАУ. СЛАУ с плохо обусловленной матрицей. Матричные уравнения.
  • Аналитическая геометрия в Python
    Произведения векторов (скалярное, векторное, смешанное). Уравнения прямых на плоскости и в пространстве. График прямой на плоскости и в пространстве. Взаимное расположение прямых на плоскости и прямых и плоскостей в пространстве.
  • Линейные операторы
    Матрица линейного оператора в разных базисах, переход к новому базису. Собственные числа и собственные векторы линейного оператора.
  • Квадратичные формы
    Матрица квадратичной формы. Канонический вид квадратичной формы. Знакоопределенные квадратичные формы. Кривые и поверхности второго порядка, тип, каноническое уравнение, график.
  • Комплексные числа
    Представление комплексных чисел в Python. Действия с комплексными числами.
  • Контроль точности вычислений
    Точность вычисления числовых выражений. Погрешность решения СЛАУ.
Элементы контроля

Элементы контроля

  • неблокирующий Работа на семинаре (ЛР1)
  • неблокирующий Работа на семинаре (ЛР2)
  • неблокирующий Работа на семинаре (ЛР3)
  • неблокирующий Работа на семинаре (ЛР4)
  • неблокирующий Работа на семинаре (ЛР5)
  • неблокирующий Работа на семинаре (ЛР6)
  • неблокирующий Работа на семинаре (ЛР7)
  • неблокирующий Работа на семинаре (ЛР8)
  • неблокирующий Работа на семинаре (ЛР9)
  • неблокирующий Работа на семинаре (ЛР10)
  • неблокирующий Работа на семинаре (ЛР11)
  • неблокирующий Работа на семинаре (ЛР12)
  • неблокирующий Работа на семинаре (ЛР13)
  • неблокирующий Работа на семинаре (ЛР14)
  • неблокирующий Работа на семинаре (ЛР15)
  • неблокирующий Работа на семинаре (ЛР16)
  • неблокирующий Работа на семинаре (ЛР17)
  • неблокирующий Экзамен (Э)
    Экзамен письменный, без прокторинга. Задания выполняются студентами и отправляются преподавателю на проверку
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (3 модуль)
    Окончательная оценка = Округление(1/34 *(ЛР1+... +ЛР17)+ 1/2 * Экз) - Окончательная оценка за дисциплину
Список литературы

Список литературы

Рекомендуемая основная литература

  • Romano, F. (2015). Learning Python. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=nlebk&AN=1133614

Рекомендуемая дополнительная литература

  • Andrew Bird, Dr Lau Cher Han, Mario Corchero Jiménez, Graham Lee, & Corey Wade. (2019). The Python Workshop : A New, Interactive Approach to Learning Python. Birmingham: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2291496