Difference between revisions of "BSc: AnalyticGeometry"

From IU
Jump to navigation Jump to search
Line 87: Line 87:
   
 
===Текущий контроль успеваемости обучающихся по дисциплине:===
 
===Текущий контроль успеваемости обучающихся по дисциплине:===
 
 
{| class="wikitable" style="width:70%;"
 
{| class="wikitable" style="width:70%;"
 
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"
 
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#202122; font-weight:bold;"
 
| style="width:5%" | №<br>п/п
 
| style="width:5%" | №<br>п/п
 
| style="width:20%" | Наименование раздела<br>дисциплины
 
| style="width:20%" | Наименование раздела<br>дисциплины
| style="width:25%" | Форма текущего контроля<br><br><span style="color:red;">(выберите соответствующие формы контроля)</span>
+
| style="width:25%" | Форма текущего контроля<br>
| style="width:50%" | Материалы текущего контроля<br><br><span style="color:red;">(Указываются ВСЕ ЗАДАНИЯ/ВОПРОСЫ текущего контроля успеваемости обучающихся по разделам дисциплины подробно в соответствии с требованиями)</span>
+
| style="width:50%" | Материалы текущего контроля<br>
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 1.
 
| style="text-align:center;" | 1.
  +
| Введение в высокопроизводительные вычисления, OpenMP и OpenCL
|
 
| style="text-align:center;" Векторная алгебра | <span style="color:red;">Проверка выполнения домашних заданий;<br>Устный / письменный опрос;<br>Тестирование (письменное или компьютерное);<br>Эссе;<br>Доклад;<br>Защита проекта; Коллоквиум;<br>Проверка разработки отдельных частей кода программного продукта и другие формы текущего контроля, используемые Вами на занятиях</span>
+
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное)
  +
| Тестирование (письменное или компьютерное)<br>
| Например:
 
  +
- Как включить поддержку OpenMP в проекте?<br>- Как определить, поддерживает ли GPU OpenCL или нет?<br>- Как собрать информацию о CPU?<br>- Как собрать информацию о GPU?<br>- Как выполнять код параллельно с использованием OpenMP?<br>- Как выполнять код параллельно на GPU?
Устный / письменный опрос:<br>-<br>-<br>-<br>...<br>
 
 
|-
Тематика групповых проектов:<br>-<br>-<br>-<br>...<br>
 
 
| style="text-align:center;" | 2.
Темы докладов:<br>-<br>-<br>-<br>...<br>
 
  +
| Параллельные алгоритмы линейной алгебры
Тематика эссе:<br>-<br>-<br>-<br>...<br>
 
 
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта
Задания, в том числе, для групповых проектов:<br>-<br>-<br>-<br>...<br>
 
Тестирование (письменное или компьютерное):<br>-<br>-<br>-<br>...<br><br>
+
| Тестирование (письменное или компьютерное):<br>
  +
- Что такое разреженные матрицы?<br>- Опишите особенности умножения разреженных матриц<br>- Объясните прямой и обратный путь разложения Гаусса<br>- Как составить схему решения метода прогонки?<br>- Как организовать итерации для приближенного решения СЛАУ?<br>- Как понять, нужно ли останавливать итерационный процесс или нет?<br>- Как оптимизировать алгоритмы умножения матриц с точки зрения затрат памяти и времени?
Проверка разработки отдельных частей кода программного продукта.
 
 
Другие формы текущего контроля, используемые Вами на занятиях<br>-<br>-<br>-<br>...<br>
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 2. Векторная алгебра
 
|
 
| style="text-align:center;" | <span style="color:red;">Проверка выполнения домашних заданий;<br>Устный / письменный опрос;<br>Тестирование (письменное или компьютерное);<br>Эссе;<br>Доклад;<br>Защита проекта; Коллоквиум;<br>Проверка разработки отдельных частей кода программного продукта и другие формы текущего контроля, используемые Вами на занятиях</span>
 
 
|
 
|
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 3.
 
| style="text-align:center;" | 3.
  +
| Параллельные методы решения дифференциальных уравнений
|
 
| style="text-align:center;" | <span style="color:red;">Проверка выполнения домашних заданий;<br>Устный / письменный опрос;<br>Тестирование (письменное или компьютерное);<br>Эссе;<br>Доклад;<br>Защита проекта; Коллоквиум;<br>Проверка разработки отдельных частей кода программного продукта и другие формы текущего контроля, используемые Вами на занятиях</span>
+
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта
  +
| Тестирование (письменное или компьютерное):<br>
  +
- Что такое волновое уравнение?<br>- Что такое уравнение теплопроводности?<br>- Как задача теплопроводности связана с задачей диффузии?<br>- Как описать такие задачи с помощью дифференциальных уравнений?<br>- Что такое "преобразование" с точки зрения математики?<br>- Какие типы преобразований вы знаете для решения дифференциальных уравнений?<br>- Как численно решать системы обыкновенных дифференциальных уравнений?
 
|
 
|
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 4.
 
| style="text-align:center;" | 4.
  +
| Физически информированные нейронные сети
|
 
| style="text-align:center;" | <span style="color:red;">Проверка выполнения домашних заданий;<br>Устный / письменный опрос;<br>Тестирование (письменное или компьютерное);<br>Эссе;<br>Доклад;<br>Защита проекта; Коллоквиум;<br>Проверка разработки отдельных частей кода программного продукта и другие формы текущего контроля, используемые Вами на занятиях</span>
+
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта
  +
| Тестирование (письменное или компьютерное):<br>
|
 
  +
- Что такое нейронная сеть?<br>- Какова структура однослойного и многослойного перцептрона?<br>- Как переформулировать задачу Коши с начальным значением в терминах задачи оптимизации?<br>- Как оценить погрешность алгоритма PINN?
  +
<br>- В чем плюсы и минусы подхода PINN по сравнению с классическими численными методами?<br>- Как ускорить процедуру обучения с помощью параллельного программирования?
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 5.
 
| style="text-align:center;" | 5.
  +
| Параллельные методы Монте-Карло
|
 
| style="text-align:center;" | <span style="color:red;">Проверка выполнения домашних заданий;<br>Устный / письменный опрос;<br>Тестирование (письменное или компьютерное);<br>Эссе;<br>Доклад;<br>Защита проекта; Коллоквиум;<br>Проверка разработки отдельных частей кода программного продукта и другие формы текущего контроля, используемые Вами на занятиях</span>
+
| Проверка выполнения домашних заданий;<br>Тестирование (письменное или компьютерное);<br>Проверка разработки отдельных частей кода программного продукта
  +
| Тестирование (письменное или компьютерное):<br>
|
 
  +
- Что такое определенный интеграл?<br>- Каковы классические формулы квадратур?<br>- Что такое равномерное распределение?<br>- Что такое нормальное распределение?<br>- Как использовать распределения при построении генераторов случайных величин?<br>- Как использовать статистический подход для оценки определенного интеграла?<br>- Как вычислить число Пи с помощью метода Монте-Карло?
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
 
|- style="vertical-align:middle; background-color:#F8F9FA; color:#202122;"
| style="text-align:center;" | ... || || ||
+
| style="text-align:center;" | 6. || Высокопроизводительные вычисления и современные языки программирования
  +
|| Проверка выполнения домашних заданий;<br>Устный опрос;<br>Доклад
 
|| Темы докладов:<br>
  +
- Обзор Nvidia CUDA<br>- Обзор OpenACC<br>- C# и многопоточное программирование (Task Parallel Library)<br>- C# и программирование графических процессоров Nvidia CUDA (AleaGPU и альтернативы)<br> -C# и программирование на GPU OpenCL (Cudafy.NET, или Cloo.NET и альтернативные варианты)<br>- Java и многопоточное программирование<br>- Программирование на Java и Nvidia CUDA GPU<br>- Программирование на Java и OpenCL GPU<br>- Python и многопоточное программирование<br>- Обзор программирования на Python и GPU<br>- Swift и многопоточное программирование<br>- Swift и программирование на GPU<br>- Go и многопоточное программирование<br>- Go и программирование на GPU<br>- Rust и многопоточное программирование и программирование на GPU<br>- Erlang и многопоточное программирование
 
|}
 
|}
  +
 
===Контрольные вопросы для подготовки к промежуточной аттестации:===
 
===Контрольные вопросы для подготовки к промежуточной аттестации:===
 
{| class="wikitable" style="width:70%;"
 
{| class="wikitable" style="width:70%;"

Revision as of 12:24, 26 March 2024

Аналитическая геометрия

Квалификация выпускника: бакалавр
Направление подготовки: 09.03.01 - “Информатика и вычислительная техника”
Направленность (профиль) образовательной программы: Математические основы ИИ
Программу разработал(а): Конюхов И.В.

1. Краткая характеристика дисциплины

Вводный курс аналитической геометрии и линейной алгебры. Во время изучения курса студенты знакомятся с фундаментальными принципами векторной алгебры и ее приложениями при решении геометрических задач, различными типами уравнений прямых и плоскостей, конических сечений и квадратичных поверхностей, преобразованиями в плоскости и в пространстве. Также приводится введение в матрицы и определители как фундаментальные понятия линейной алгебры. Отличительной особенностью курса является наглядная демонстрация изучаемых концепций с помощью исходных кодов программ на языке Python с одновременной визуализацией результатов с использованием библиотеки Matplotlib. Материалы курса оформлены в виде интерактивных презентаций Jupyter Notebooks.

2. Перечень планируемых результатов обучения

Целью освоения дисциплины является:
  • формирование базовых знаний аналитической геометрии и линейной алгебры для дальнейшего использования в других областях математического знания и дисциплинах естественнонаучного содержания;
  • формирование математической культуры, исследовательских навыков и способности применять эти знания на практике.
Задачами дисциплины являются:
  • формирование у обучающихся базовых знаний по аналитической геометрии;
  • формирование умений логически мыслить, проводить доказательства основных утверждений, устанавливать логические связи между понятиями;
  • формирование умений и навыков применять полученные знания для решения геометрических задач, самостоятельного анализа полученных результатов.
  • формирование умений и навыков записи и обработки базовых математических выражений с помощью языка программирования Python.

Общая характеристика результата обучения по дисциплине

Знания:
  • основных определений векторной алгебры;
  • видов систем координат, способов перехода от одной системы координат к другой;
  • скалярного, векторного, смешанного произведения;
  • уравнений прямых на плоскости и в пространстве, уравнений плоскости в пространстве;
  • канонические уравнения кривых второго порядка;
  • канонические уравнения поверхностей второго порядка.
Умения:
  • решать простейшие задачи аналитической геометрии методом координат;
  • использовать векторную алгебру для решения задач;
  • использовать различные виды уравнений прямых и плоскостей для решения задач;
  • определять вид кривых и поверхностей второго порядка по их каноническим уравнениям и рисовать эскизы их графиков;
  • исследовать свойства геометрических объектов по заданному уравнению.
Навыки (владения):
  • математическим аппаратом аналитической геометрии, аналитическими методами исследования геометрических объектов,
  • записи и обработки математических выражений, визуализации результатов расчетов с использованием языка Python.

3. Структура и содержание дисциплины


п/п
Наименование раздела
дисциплины
Содержание дисциплины по темам
1. Векторная алгебра - Направленные отрезки и векторы, линейные операции над ними. Свойства линейных операций.
- Коллинеарность и компланарность векторов.
- Линейно зависимые и независимые системы векторов. Связь линейной зависимости с коллинеарностью и компланарностью векторов.
- Базис, координаты вектора в базисе.
- Действия с векторами в координатах.
2. Матричная алгебра - Матрицы и алгебраические операции с матрицами. Элементарные преобразования матриц.
- Обратная матрица.
- Определитель матрицы и его свойства. Миноры, алгебраические дополнения. Определитель произведения матриц.
- Критерий обратимости. Формула для элементов обратной матрицы.
3. Системы координат, ориентация на плоскости и в пространстве - Определения общей декартовой и прямоугольной(ортонормированной) системы координат. Матрица перехода и ее основное свойство.

Изменение координат вектора при замене базиса. Изменение координат точки при переходе к новой системе координат. Формулы перехода от одной прямоугольной системы координат на плоскости к другой.
- Скалярное произведение и его свойства.Ортогональные проекции. Выражение скалярного произведения в координатах, выражение в ортонормированном базисе. Формулы для определения расстояния между точками и угла между векторами.
- Ориентация на плоскости и в пространстве. Смешанное и векторное произведения векторов, их свойства и геометрический смысл. Выражение смешанного и векторного произведений через координаты векторов. Условия коллинеарности и компланарности векторов.

4. Прямые и плоскости - Векторные и координатные формы уравнения прямой на плоскости в пространстве.
- Условия параллельности (или совпадения), перпендикулярности прямых на плоскости, заданных в координатной форме.
- Условия параллельности и перпендикулярности двух прямых в пространстве.
- Расстояние от точки до прямой на плоскости и в пространстве. Расстояние между двумя прямыми в пространстве.
- Векторные и координатные формы уравнения плоскости.
- Условия параллельности (или совпадения) плоскостей, заданных в координатной форме.
- Расстояние от точки до плоскости в пространстве и расстояние между параллельными плоскостями.
- Условия параллельности и перпендикулярности прямой и плоскости. Прямая как линия пересечения двух плоскостей.
- Общий перпендикуляр двух скрещивающихся прямых.
5. Кривые второго порядка - Алгебраические линии второго порядка на плоскости, их классификация.
- Приведение уравнения линии второго порядка к каноническому виду.
- Центр линии второго порядка, центральные и нецентральные линии.
- Ортогональные инварианты
6. Поверхности второго порядка - Эллипс,гипербола и парабола,их свойства. Касательные к эллипсу, гиперболе и параболе.
- Уравнения эллипса, гиперболы и параболы в полярной системе координат.

Цилиндрические и конические поверхности. Поверхности вращения.
- Эллипсоид, гиперболоид, параболоид и конус второго порядка, их основные свойства. Прямолинейные образующие. Сечения.

7. Преобразования на плоскости и в пространстве - Отображения и преобразования плоскости. Произведение(композиция) отображений. Взаимно однозначное отображение, обратное отображение.
- Линейные преобразования плоскости. Координатное представление линейных преобразований плоскости.
- Аффинные преобразования плоскости и их основные свойства.

4. Методические и оценочные материалы

Задания для практических занятий:


п/п
Наименование раздела
дисциплины (модуля)
Перечень рассматриваемых тем (вопросов)
1. Векторная алгебра
2. Матричная алгебра
3. Системы координат, ориентация на плоскости и в пространстве
4. Прямые и плоскости
5. Кривые второго порядка
6. Поверхности второго порядка
7. Преобразования на плоскости и в пространстве

Текущий контроль успеваемости обучающихся по дисциплине:


п/п
Наименование раздела
дисциплины
Форма текущего контроля
Материалы текущего контроля
1. Введение в высокопроизводительные вычисления, OpenMP и OpenCL Проверка выполнения домашних заданий;
Тестирование (письменное или компьютерное)
Тестирование (письменное или компьютерное)

- Как включить поддержку OpenMP в проекте?
- Как определить, поддерживает ли GPU OpenCL или нет?
- Как собрать информацию о CPU?
- Как собрать информацию о GPU?
- Как выполнять код параллельно с использованием OpenMP?
- Как выполнять код параллельно на GPU?

2. Параллельные алгоритмы линейной алгебры Проверка выполнения домашних заданий;
Тестирование (письменное или компьютерное);
Проверка разработки отдельных частей кода программного продукта
Тестирование (письменное или компьютерное):

- Что такое разреженные матрицы?
- Опишите особенности умножения разреженных матриц
- Объясните прямой и обратный путь разложения Гаусса
- Как составить схему решения метода прогонки?
- Как организовать итерации для приближенного решения СЛАУ?
- Как понять, нужно ли останавливать итерационный процесс или нет?
- Как оптимизировать алгоритмы умножения матриц с точки зрения затрат памяти и времени?

3. Параллельные методы решения дифференциальных уравнений Проверка выполнения домашних заданий;
Тестирование (письменное или компьютерное);
Проверка разработки отдельных частей кода программного продукта
Тестирование (письменное или компьютерное):

- Что такое волновое уравнение?
- Что такое уравнение теплопроводности?
- Как задача теплопроводности связана с задачей диффузии?
- Как описать такие задачи с помощью дифференциальных уравнений?
- Что такое "преобразование" с точки зрения математики?
- Какие типы преобразований вы знаете для решения дифференциальных уравнений?
- Как численно решать системы обыкновенных дифференциальных уравнений?

4. Физически информированные нейронные сети Проверка выполнения домашних заданий;
Тестирование (письменное или компьютерное);
Проверка разработки отдельных частей кода программного продукта
Тестирование (письменное или компьютерное):

- Что такое нейронная сеть?
- Какова структура однослойного и многослойного перцептрона?
- Как переформулировать задачу Коши с начальным значением в терминах задачи оптимизации?
- Как оценить погрешность алгоритма PINN?
- В чем плюсы и минусы подхода PINN по сравнению с классическими численными методами?
- Как ускорить процедуру обучения с помощью параллельного программирования?

5. Параллельные методы Монте-Карло Проверка выполнения домашних заданий;
Тестирование (письменное или компьютерное);
Проверка разработки отдельных частей кода программного продукта
Тестирование (письменное или компьютерное):

- Что такое определенный интеграл?
- Каковы классические формулы квадратур?
- Что такое равномерное распределение?
- Что такое нормальное распределение?
- Как использовать распределения при построении генераторов случайных величин?
- Как использовать статистический подход для оценки определенного интеграла?
- Как вычислить число Пи с помощью метода Монте-Карло?

6. Высокопроизводительные вычисления и современные языки программирования Проверка выполнения домашних заданий;
Устный опрос;
Доклад
Темы докладов:

- Обзор Nvidia CUDA
- Обзор OpenACC
- C# и многопоточное программирование (Task Parallel Library)
- C# и программирование графических процессоров Nvidia CUDA (AleaGPU и альтернативы)
-C# и программирование на GPU OpenCL (Cudafy.NET, или Cloo.NET и альтернативные варианты)
- Java и многопоточное программирование
- Программирование на Java и Nvidia CUDA GPU
- Программирование на Java и OpenCL GPU
- Python и многопоточное программирование
- Обзор программирования на Python и GPU
- Swift и многопоточное программирование
- Swift и программирование на GPU
- Go и многопоточное программирование
- Go и программирование на GPU
- Rust и многопоточное программирование и программирование на GPU
- Erlang и многопоточное программирование

Контрольные вопросы для подготовки к промежуточной аттестации:


п/п
Наименование раздела
дисциплины (модуля)
Вопросы
1. Векторная алгебра
2. Матричная алгебра
3. Системы координат, ориентация на плоскости и в пространстве
4. Прямые и плоскости
5. Кривые второго порядка
6. Поверхности второго порядка
7. Преобразования на плоскости и в пространстве

Вопросы/Задания к промежуточной аттестации в устной/письменной форме:

(Указываются ВСЕ ЗАДАНИЯ/ВОПРОСЫ для промежуточной аттестации.)

1.
2.
3.
...
48.
49.
50.
...

Перечень учебно-методического обеспечения дисциплины

Список основной литературы:

  1. Умнов А.Е. Аналитическая геометрия и линейная алгебра. М.: МФТИ, 2011. 544 с.
  2. Беклемишев Д.В. Курс аналитической геометрии и линейной алгебры. – 10-е изд., испр. – М. : Физматлит, 2005. – 304 с.
  3. Сборник задач по аналитической геометрии и линейной алгебре : учебное пособие / Л. А. Беклемишева, Д. В. Беклемишев, А. Ю. Петрович, И. А. Чубаров. — 5-е изд., стер. — Санкт-Петербург : Лань, 2017. — 496 с. — ISBN 978-5-8114-0861-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/97281 (дата обращения: 25.03.2024). — Режим доступа: для авториз. пользователей.

Список дополнительной литературы:

  1. Шарипов Р.А. Курс линейной алгебры и многомерной геометрии. Учебное пособие для вузов / Издание Башкирского университета - Уфа, 1996. - 146 с.
  2. Кайгородов. В.Р. Курс аналитической геометрии и линейной алгебры. Казань. 201 с.

Необходимое программное обеспечение:

  1. Интегрированная среда разработки с поддержкой языка Python, например, Microsoft VS Code.
  2. Jupyter Notebooks

Методические указания для обучающихся по освоению дисциплины

Вид учебных
занятий/деятельности
Деятельность обучающегося
Лекция Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.
Практические (лабораторные) занятия Практические занятия предназначены прежде всего для разбора отдельных сложных положений, тренировки аналитических навыков, а также для развития коммуникационных навыков. Поэтому на практических занятиях необходимо участвовать в тех формах обсуждения материала, которые предлагает преподаватель: отвечать на вопросы преподавателя, дополнять ответы других студентов, приводить примеры, задавать вопросы другим выступающим, обсуждать вопросы и выполнять задания в группах. Работа на практических занятиях подразумевает домашнюю подготовку и активную умственную работу на самом занятии. Работа на практических занятиях в форме устного опроса заключается прежде всего в тренировке навыков применять теоретические положения к самому разнообразному материалу. В ходе практических занятий студенты работают в группах для обсуждения предлагаемых вопросов.
Самостоятельная работа Самостоятельная работа состоит из следующих частей: 1) чтение учебной, справочной, научной литературы; 2) повторение материала лекций; 3) составление планов устных выступлений; 4) подготовка презентаций. При чтении учебной литературы нужно разграничивать для себя материал на отдельные проблемы, концепции, идеи. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Разработка отдельных частей кода Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
Выполнение домашних заданий и групповых проектов Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.
Тестирование (устное/письменное) При подготовке к тестированию необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме. Основная цель тестирования – показать уровень сформированности знаний по конкретной теме или ее части.

Методы и технологии обучения, способствующие формированию компетенции

Методы и технологии обучения, способствующие формированию компетенции
Информационно-коммуникационная технология, проектная технология, технология проблемного обучения, кейс-технология, традиционные технологии, модульные технологии