МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Обработка, анализ и визуализация данных на Python

рабочая программа дисциплины
Закреплена за кафедройКафедра теоретической кибернетики и прикладной математики
Направление подготовки01.03.02. Прикладная математика и информатика
ПрофильПрикладной анализ данных и компьютерное моделирование
Форма обученияОчная
Общая трудоемкость3 ЗЕТ
Учебный план01_03_02_Прикладная математика и информатика_ПАДиКМ-2023
Часов по учебному плану 108
в том числе:
аудиторные занятия 36
самостоятельная работа 72
Виды контроля по семестрам
зачеты: 4
курсовой проект: 4

Распределение часов по семестрам

Курс (семестр) 2 (4) Итого
Недель 22,5
Вид занятий УПРПДУПРПД
Лабораторные 36 36 36 36
Сам. работа 72 72 72 72
Итого 108 108 108 108

Программу составил(и):
к.т.н., Доцент, Хворова Л.А.

Рецензент(ы):
к.ф.-м.н., Доцент, Пономарев И.В.

Рабочая программа дисциплины
Обработка, анализ и визуализация данных на Python

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 01.03.02 Прикладная математика и информатика (приказ Минобрнауки России от 10.01.2018 г. № 9)

составлена на основании учебного плана:
01.03.02 Прикладная математика и информатика
утвержденного учёным советом вуза от 26.06.2023 протокол № 4.

Рабочая программа одобрена на заседании кафедры
Кафедра теоретической кибернетики и прикладной математики

Протокол от 03.05.2024 г. № 7
Срок действия программы: 20242026 уч. г.

Заведующий кафедрой
к.т.н., доцент Понькина Е.В.


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

1.1.Целями изучения дисциплины являются изучение методов и подходов к анализу данных различного объема, включая предварительную обработку данных и статистический анализ, освоение различных моделей машинного обучения, предназначенных для решения задач кластеризации, классификации и регрессии и применение их для решения прикладных задач из различных сфер человеческой деятельности.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.О.02.ДВ.01

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ОПК-5Способен разрабатывать алгоритмы и компьютерные программы, пригодные для практического применения
ОПК-5.1 Знает методы теории алгоритмов, системного и прикладного программирования, основные положения и концепции в области компьютерного программирования
ОПК-5.2 Умеет соотносить знания в области программирования, интерпретацию прочитанного, определять и создавать информационные ресурсы глобальных сетей, образовательного контента, средств тестирования систем
ОПК-5.3 Имеет практический опыт разработки и применения программного обеспечения
УК-1Способен осуществлять поиск, критический анализ и синтез информации, применять системный подход для решения поставленных задач
УК-1.1 Знает основные теоретико-методологические положения системного подхода как научной и философской категории
УК-1.2 Осуществляет поиск информации для решения поставленной задачи по различным типам запросов.
УК-1.3 Сопоставляет разные источники информации с целью выявления их противоречий и поиска достоверных суждений
УК-1.4 Анализирует информацию и предлагает возможные варианты решения поставленной задачи, оценивая их достоинства и недостатки
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.Основные технологии анализа данных.
3.2.Уметь:
3.2.1.Строить автоматизированные модели анализа данных.
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.Навыками анализа данных на примере решения задач кластеризации,
классификации, прогнозирования.

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

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Введение в анализ данных
1.1. Введение в интеллектуальный анализ данных: основные понятия, области применения современных технологий обработки и интеллектуального анализа больших данных. Лабораторные 4 2 Л1.1, Л1.2, Л2.2
1.2. Этапы анализа данных. Структурированные и неструктурированные данные. Сбор и подготовка данных. Лабораторные 4 2 Л1.1, Л1.2, Л2.2
1.3. Большие данные. Организация сбора и хранения больших наборов данных. Hadoop. Лабораторные 4 2 Л1.1, Л1.2, Л2.2
1.4. Этапы анализа данных. Структурированные и неструктурированные данные. Сбор и подготовка данных. Сам. работа 4 5 Л1.1, Л1.2, Л2.2
1.5. Большие данные. Организация сбора и хранения больших наборов данных.Hadoop. Сам. работа 4 5 Л1.1, Л1.2, Л2.2
Раздел 2. Очистка, интеграция и преобразование данных
2.1. Библиотека pandas. Структуры данных в pandas, работа со структурами данных. Операции над данными. Комбинирование данных из разных источников. Обработка пропущенных значений. Лабораторные 4 2 Л1.1, Л1.2, Л2.2
2.2. Работа с данными в pandas. Лабораторные 4 2 Л1.1, Л1.2, Л2.2
2.3. Работа с данными в pandas. Сам. работа 4 6 Л1.1, Л1.2, Л2.2
2.4. Восстановление пропущенных значений в массивах данных. Сам. работа 4 6 Л1.1, Л1.2, Л2.2
Раздел 3. Программные модули и пакеты для работы с многомерными массивами данных. Визуализация данных
3.1. Библиотеки NumPy, SciPy: основные функции. Визуализация данных с matplotlib и pandas. Лабораторные 4 4 Л1.2, Л2.4
3.2. Работа с библиотеками NumPy и SciPy. Сам. работа 4 6 Л1.2, Л2.4
3.3. Визуализация данных. Лабораторные 4 4 Л1.2, Л2.4
3.4. Визуализация данных. Сам. работа 4 8 Л1.2, Л2.4
Раздел 4. Теория вероятностей и математическая статистика
4.1. Теория вероятностей: условная вероятность, случайные величины, теорема Байеса, распределение вероятностей. Лабораторные 4 2 Л2.1, Л1.2
4.2. Статистика: описание одиночного набора данных, показатели центра распределения, показатели вариации, корреляция и причинная зависимость. Проверка статистических гипотез. Лабораторные 4 2 Л2.1, Л1.2
4.3. Теория вероятностей и статистика. Лабораторные 4 2 Л2.1, Л1.2
4.4. Теория вероятностей и статистика. Сам. работа 4 12 Л2.1, Л1.2
Раздел 5. Методы машинного обучения
5.1. Задачи машинного обучения. Применение машинного обучения в Data Science. Алгоритмы машинного обучения. Библиотека Scikit-Learn. Лабораторные 4 2 Л1.3, Л2.3, Л2.4
5.2. Алгоритмы машинного обучения.Способы и типы машинного обучения.Библиотека Scikit-Learn. Лабораторные 4 4 Л2.2, Л1.3, Л2.3
5.3. Алгоритмы машинного обучения. Способы и типы машинного обучения. Сам. работа 4 12 Л2.2, Л1.3, Л2.3
5.4. Оценка и улучшение качества моделей машинного обучения: перекрестная проверка, поиск по сетке, метрики качества моделей и их вычисление. Лабораторные 4 4 Л2.2, Л1.3, Л2.3
5.5. Оценка и улучшение качества моделей машинного обучения: перекрестная проверка, поиск по сетке, метрики качества моделей и их вычисление. Сам. работа 4 12 Л2.2, Л1.3, Л2.3
5.6. Защита индивидуальных проектов. Лабораторные 4 2 Л2.2, Л1.3, Л2.3

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
ОЦЕНКА СФОРМИРОВАННОСТИ КОМПЕТЕНЦИИ ОПК-1, ОПК-5, ПК-1:

ПРИМЕРЫ ЗАДАНИЙ ЗАКРЫТОГО ТИПА:
1. Что такое большие данные?
a) Данные, которые невозможно обработать на одном компьютере.
b) Данные, которые занимают более 1 ТБ памяти.
c) Данные, которые содержат только числовые значения.
d) Данные, которые используются только в машинном обучении.
Ответ: a)
2. Какой этап извлечения знаний из данных включает очистку и предобработку данных?
a) Сбор данных.
b) Исследовательский анализ данных.
c) Подготовка данных.
d) Визуализация данных.
Ответ: c)
3. Какой объект библиотеки Pandas используется для работы с одномерными данными?
a) DataFrame.
b) Series.
c) Array.
d) List.
Ответ: b)
4. Какой метод Pandas используется для поиска пропущенных значений?
a) isnull().
b) dropna().
c) fillna().
d) replace().
Ответ: a)
5. Какой тип данных является категориальным?
a) Возраст.
b) Вес.
c) Пол.
d) Рост.
Ответ: c)
6. Какой метод Pandas используется для удаления дублей строк?
a) drop_duplicates().
b) remove_duplicates().
c) delete_duplicates().
d) unique().
Ответ: a)
7. Какой график используется для визуализации распределения данных?
a) Линейный график.
b) Гистограмма.
c) Круговая диаграмма.
d) Точечный график.
Ответ: b)
8. Какой метод используется для нормализации данных?
a) Min-Max Scaling.
b) Standard Scaling.
c) Log Transformation.
d) Все вышеперечисленные.
Ответ: d)
9. Какой алгоритм кластеризации использует метод k-средних?
a) Иерархический.
b) Разделяющий.
c) DBSCAN.
d) Метод главных компонент.
Ответ: b)
10. Какой библиотекой Python можно воспользоваться для построения дендрограмм?
a) Matplotlib.
b) Seaborn.
c) Scikit-learn.
d) SciPy.
Ответ: d)
11. Какой тип задачи машинного обучения решает задачу классификации?
a) С учителем.
b) Без учителя.
c) С подкреплением.
d) Все вышеперечисленные.
Ответ: a)
12. Какой алгоритм машинного обучения используется для задачи регрессии?
a) K-ближайших соседей.
b) Линейная регрессия.
c) Метод опорных векторов.
d) Все вышеперечисленные.
Ответ: d)
13. Какой метод используется для оценки качества модели классификации?
a) Точность (Accuracy).
b) Среднеквадратичная ошибка (MSE).
c) Коэффициент детерминации (R²).
d) Все вышеперечисленные.
Ответ: a)
14. Какой метод Pandas используется для объединения двух DataFrame?
a) concat().
b) merge().
c) join().
d) Все вышеперечисленные.
Ответ: d)
15. Какой метод используется для поиска выбросов в данных?
a) Гистограмма.
b) Ящиковая диаграмма.
c) Ядерная оценка плотности.
d) Все вышеперечисленные.
Ответ: d)
16. Какой метод Scikit-learn используется для разделения данных на обучающую и тестовую выборки?
a) train_test_split().
b) split_data().
c) divide_data().
d) separate_data().
Ответ: a)
17. Какой метод используется для стандартизации данных в Scikit-learn?
a) StandardScaler().
b) MinMaxScaler().
c) Normalizer().
d) RobustScaler().
Ответ: a)
18. Какой алгоритм машинного обучения используется для задачи кластеризации?
a) Линейная регрессия.
b) Метод k-средних.
c) Дерево решений.
d) Метод опорных векторов.
Ответ: b)
19. Какой метод используется для тонкой настройки модели?
a) GridSearchCV.
b) RandomizedSearchCV.
c) Оба варианта.
d) Ни один из вариантов.
Ответ: c)
20. Какой метод Pandas используется для группировки данных?
a) groupby().
b) aggregate().
c) summarize().
d) cluster().
Ответ: a)

КРИТЕРИИ ОЦЕНИВАНИЯ: Каждое задание оценивается 1 баллом. Оценивание КИМ теоретического характера в целом:
«Зачтено» – верно выполнено более 50% заданий; «не зачтено» – верно выполнено 50% и менее 50% заданий;
«Отлично» – верно выполнено 85-100% заданий; «хорошо» – верно выполнено 70-84% заданий; «удовлетворительно» – верно выполнено 51-69% заданий; «неудовлетворительно» – верно выполнено 50% или менее 50% заданий.

ПРИМЕРЫ ЗАДАНИЙ ОТКРЫТОГО ТИПА:
1. Как называется процесс извлечения полезной информации из данных?
Ответ: Анализ.
2. Какой объект Pandas используется для работы с табличными данными?
Ответ: DataFrame.
3. Какой метод Pandas используется для заполнения пропущенных значений?
Ответ: fillna.
4. Какой тип переменной описывает категории (например, "мужчина" или "женщина")?
Ответ: Категориальная.
5. Какой метод используется для поиска выбросов с помощью ящиковой диаграммы?
Ответ: Boxplot.
6. Какой метод Matplotlib используется для построения линейного графика?
Ответ: plot.
7. Какой метод Seaborn используется для построения тепловой карты?
Ответ: heatmap.
8. Какой алгоритм кластеризации использует метод k-средних?
Ответ: Кластеризация.
9. Какой метод Scikit-learn используется для обучения модели?
Ответ: fit.
10. Какой метод используется для оценки качества модели регрессии?
Ответ: MSE.
11. Какой метод Pandas используется для удаления строк с пропущенными значениями?
Ответ: dropna.
12. Какой метод используется для нормализации данных в диапазоне от 0 до 1?
Ответ: MinMaxScaler.
13. Какой метод используется для визуализации распределения данных с помощью ядерной оценки плотности?
Ответ: kdeplot.
14. Какой метод Scikit-learn используется для предсказания на основе обученной модели?
Ответ: predict.
15. Какой метод используется для разделения данных на обучающую и тестовую выборки?
Ответ: train_test_split.
16. Какой метод Pandas используется для переименования столбцов в DataFrame?
Ответ: rename.
17. Какой метод Scikit-learn используется для выполнения кластеризации методом k-средних?
Ответ: KMeans.
18. Какой метод Matplotlib используется для сохранения графика в файл?
Ответ: savefig.
19. Какой метод Pandas используется для сортировки данных по значениям столбца?
Ответ: sort_values.
20. Какой метод Scikit-learn используется для оценки точности модели классификации?
Ответ: accuracy_score.

КРИТЕРИИ ОЦЕНИВАНИЯ ОТКРЫТЫХ ВОПРОСОВ.
«Отлично» (зачтено): Ответ полный, развернутый. Вопрос точно и исчерпывающе передан, терминология сохранена, студент превосходно владеет основной и дополнительной литературой, ошибок нет.
«Хорошо» (зачтено): Ответ полный, хотя краток, терминологически правильный, нет существенных недочетов. Студент хорошо владеет пройденным программным материалом; владеет основной литературой, суждения правильны.
«Удовлетворительно» (зачтено): Ответ неполный. В терминологии имеются недостатки. Студент владеет программным материалом, но имеются недочеты. Суждения фрагментарны.
«Неудовлетворительно» (не зачтено): Не использована специальная терминология. Ответ в сущности неверен. Переданы лишь отдельные фрагменты соответствующего материала вопроса. Ответ не соответствует вопросу или вовсе не дан.
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Не предусмотрено
5.3. Фонд оценочных средств для проведения промежуточной аттестации
Промежуточная аттестация заключается в проведении в конце семестра зачета (для обучающихся, не получивших зачет по результатам текущей успеваемости) по всему изученному курсу. Зачет проводится в устной форме по билетам. В билет входит 2 вопроса теоретического характера.

ВОПРОСЫ ПО КУРСУ:
1. Основные понятия: большие данные, наука о данных, анализ данных, машинное обучение. Основные этапы извлечения знаний из данных. Примеры задач анализа данных.
2. Структурированные и неструктурированные данные. Категориальные и непрерывные переменные. Методы отбора признаков (переменных). Библиотека pandas: объекты Series и DataFrame.
3. Обработка данных: поиск пропущенных значений, основные методы обработки пропущенных значений, обработка пропущенных значений с помощью pandas, поиск и удаление дублирующихся значений в pandas.
4. Обработка данных: описательные статистики, поиск аномалий (включая гистограммы, ящиковые диаграммы, ядерные оценки плотности), анализ выбросов и шумов. Нормализация и стандартизация данных.
5. Визуализация данных: виды графиков и диаграмм. Основные инструменты визуализации данных в Python.
6. Кластерный анализ: иерархический кластерный анализ, построение дендрограмм, методы k-средних. Кластерный анализ в Python.
7. Машинное обучение: основные понятия, задачи, которые можно решить с помощью машинного обучения. Алгоритмы машинного обучения с учителем и без учителя (перечислить). Инструменты Python, используемые в машинном обучении.
8. Машинное обучение: этапы моделирования. Отбор признаков на основе модели. Оценка качества построенных моделей.
9. Задача классификации: постановка задачи, пример моделей, понятие переобучения, оценка качества классификации, тонкая настройка модели.
10. Задача регрессии: постановка задачи, пример моделей, понятие переобучения, оценка качества классификации, тонкая настройка модели.

КРИТЕРИИ ОЦЕНИВАНИЯ:
«Отлично» (зачтено): студентом дан полный, в логической последовательности развернутый ответ на поставленные вопросы, где он продемонстрировал знания предмета в полном объеме учебной программы, достаточно глубоко осмысливает дисциплину, самостоятельно, и исчерпывающе отвечает на дополнительные вопросы, приводит собственные примеры по проблематике поставленного вопроса, решил предложенные практические задания без ошибок.
«Хорошо» (зачтено): студентом дан развернутый ответ на поставленный вопрос, где студент демонстрирует знания, приобретенные на лекционных и семинарских занятиях, а также полученные посредством изучения обязательных учебных материалов по курсу, дает аргументированные ответы, приводит примеры, в ответе присутствует свободное владение монологической речью, логичность и последовательность ответа. Однако допускаются неточности в ответе. Решил предложенные практические задания с небольшими неточностями.
«Удовлетворительно» (зачтено): студентом дан ответ, свидетельствующий в основном о знании процессов изучаемой дисциплины, отличающийся недостаточной глубиной и полнотой раскрытия темы, знанием основных вопросов теории, слабо сформированными навыками анализа явлений, процессов, недостаточным умением давать аргументированные ответы и приводить примеры, недостаточно свободным владением монологической речью, логичностью и последовательностью ответа. Допускается несколько ошибок в содержании ответа и решении практических заданий.
«Неудовлетворительно» (не зачтено): студентом дан ответ, который содержит ряд серьезных неточностей, обнаруживающий незнание процессов изучаемой предметной области, отличающийся неглубоким раскрытием темы, незнанием основных вопросов теории, неумением давать аргументированные ответы. Выводы поверхностны. Решение практических заданий не выполнено. Студент не способен ответить на вопросы даже при дополнительных наводящих вопросах преподавателя.

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 А. А. Барсегян, М. С. Куприянов, И. И. Холод, М. Д. Тесс, С. И. Елизаров. Анализ данных и процессов: учеб. пособие: Учебная литература для вузов СПб.: БХВ-Петербург, 2009 kist.ntu.edu.ua
Л1.2 Маккинни У. Python и анализ данных: Москва: ДМК Пресс, 2020 https://e.lanbook.com/book/131721
Л1.3 Рашка С. Python и машинное обучение: крайне необходимое пособие по новейшей предсказательной аналитике, обязательное для более глубокого понимания методологии машинного обучения: Самоучители и руководства Издательство "ДМК Пресс", 2017 e.lanbook.com
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Энатская Н.Ю. Математическая статистика и случайные процессы: учебное пособие для прикладного бакалавриата М. : Издательство Юрайт // ЭБС «Юрайт», 2018 www.biblio-online.ru/book/E7144E93-751A-44FD-A63F-B50F18195681
Л2.2 Лучано Рамальо Python. К вершинам мастерства: Самоучители и руководства Издательство "ДМК Пресс", 2016 e.lanbook.com
Л2.3 Шарден Б., Массарон Л., Боскетти А. Крупномасштабное машинное обучение вместе с Python: Учебные пособия Издательство "ДМК Пресс", 2018 //ЭБС издательства «Лань» e.lanbook.com
Л2.4 Бонцанини М. Анализ социальных медиа на Python. Извлекайте и анализируйте данные из всех уголков социальной паутины на Python: Другое Издательство "ДМК Пресс", 2018 e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Дисциплина на образовательном портале portal.edu.asu.ru
6.3. Перечень программного обеспечения
Microsoft Windows
Microsoft Office
Дистрибутив Anaconda
7-Zip
AcrobatReaderMicrosoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Chrome (http://www.chromium.org/chromium-os/licenses), (бессрочно); 7-Zip (http://www.7-zip.org/license.txt), (бессрочно);
AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra-linux-special-edition/), (бессрочно);
LibreOffice (https://ru.libreoffice.org/), (бессрочно);
Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно);
Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024);
Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
Okular (https://okular.kde.org/ru/download/), (бессрочно);
Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем
1. Основы алгоритмизации и программирования на языке Python [Электронный ресурс]: https://portal.edu.asu.ru/course/view.php?id=3237
2. Издательство «Лань» - электронно-библиотечная система [Электронный
ресурс]: http://e.lanbook.com
3. Издательство МЦНМО. Свободно распространяемые книги издательства
Московского центра непрерывного математического образования
[Электронный ресурс]: www.mccme.ru/free-books
4. Электронная библиотечная система Алтайского государственного
университета [Электронный ресурс]: http://elibrary.asu.ru
5. Электронная база данных ZBMATH: https://zbmath.org/

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
408Л лаборатория математического моделирования - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 15 посадочных мест; рабочее место преподавателя; доска меловая 1 шт.; компьютер Depo - 10 шт., 5 шт. с мониторами LG и 5 шт. с мониторами Philips; мультимедиа-проектор Sony - 1 шт.; МФУ Canon - 1 шт.; стационарный экран: марка Digis Optima C - 1 шт.
Учебная аудитория для проведения занятий всех видов (дисциплинарной, междисциплинарной и модульной подготовки), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проекта (работы), проведения практики Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)
203Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; компьютеры: марка ASUS модель i5-6500 - 14 единиц

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

Для успешного освоения дисциплины студент должен посещать лекции и лабораторные занятия, вовремя выполять все задания и тесты, пользоваться основной и полнительноцй литературой, рекомендованной настоящей программой. Во время лекции рекомендуется вести краткий конспект.
Навыки программирования на языке Python студент преобретает на лабораторных занятиях. Для выполнения лабораторных заданий каждому студенту необходимо:
- получить вариант задания у преподавателя;
- скачать документ с описанием задания с образовательного портала;
- внимательно прочитать задание. Вопросы, возникающие в процессе выполненпия лабораторных работ, необходимо грамотно сформулировать и обратиться за помощью к преподавателю на консультации или ближайшем занятии;
- разработать, отладить и оттестировать программы, решающие поставленные задачи.
Для каждого лабораторного задания предусмотрена процедура защиты, в ходе которой преподаватель проводит устный опрос студентов для контроля понимания выполненных ими заданий.
Тестовые задания на образовательном портале предназначены для контроля усвоения теоретического материала, а также умения читать и понимать программный код. Тесты выполняются только в присутсвии преподавателя на занятии или на консультации. Количесвто попыток ограничено тремя. Готовясь к тестированию, студент должен изучить конспекты лекций и учебно-методические материалы, рекомендуемые преподавателем.
При подготовке к экзамену в дополнение к изучению конспектов лекций и учебной литературы, рекомендуется посещать консультации и пользоваться свободными интернет-ресурсами.