Модуль 2
101,00ч

Профильный модуль

Профильный модуль направлен на усиленное развитие практических навыков программирования. В нём рассматриваются такие темы как декартовы деревья (частный случай сбалансированных деревьев поиска) и хеш-таблицы. Так же, как и в базовом модуле, студенты усваивают внутреннее устройство этих структур данных, самостоятельно их реализуют и получают навыки их применения для решения практических задач. В конце профильного модуля идёт набор финальных задач, который позволяет комплексно применить на практике все знания и навыки, полученные на курсе. В каждой задаче этого блока нужно применять знания и навыки из нескольких модулей курса, что способствует закреплению всего пройденного материала.
Часов в программе
3,00 часа
лекции
68,00 часов
практика
28,00 часов
самостоятельная
2,00 часа
промежуточная аттестация
101,00 час
всего
Материально-технические условия реализации программы:
Вид занятий: Аттестационный компонент
Требуемое ПО:
Браузер:
• Firefox 64
• Chrome 61
• Safari 11
• Opera 57
Рекомендуется от 128 кбит/сек исходящего потока.
Рекомендуется от 256 кбит/сек входящего потока.
Вид занятий: Практический компонент
Требуемое ПО:
Браузер:
• Firefox 64
• Chrome 61
• Safari 11
• Opera 57
Рекомендуется от 128 кбит/сек исходящего потока.
Рекомендуется от 256 кбит/сек входящего потока.
Информационные ресуры
http://e-maxx.ru/
http://neerc.ifmo.ru/wiki/index.php
https://habr.com/ru/flows/develop/
Образовательные ресуры
leetcode.com
codeforces.ru
www.hackerrank.com

Учебно-методические материалы

Методы, формы и технологии

1. Проблемно-развивающие методы
2. Исследовательский метод
3. Объяснительно-иллюстративный метод
4. Метод проблемного изложения
5. Частично-поисковый метод
6. Метод контроля и самоконтроля
7. Самостоятельная работа по освоению теоретического материала
8. Самоконтроль через ответы на вопросы по видеолекциям и выполнение практических заданий для самоконтроля
9. Промежуточный контроль (тесты по темам для промежуточной аттестации)
10. Итоговый контроль (итоговое тестирование по курсу)
11. Консультативная поддержка преподавателя и менторов в режиме онлайн

Методические разработки

Основное средство оттачивания навыков — задачи по программированию с автоматической проверкой.

Автоматическая проверка выполняется с помощью отдельной программы в виде Python 3 модуля.

В коде модуля определены три функции: generate, solve и check:

- generate — функция, генерирующая набор данных для одной попытки решить задание;
- solve — функция, вычисляющая правильный ответ для набора данных;
- check — функция, выполняющая проверку ответа учащегося.

generate(): функция, которая используется для генерации входных тестов — списка из нескольких наборов входных данных. Решения учащихся проверяются на каждом тесте из списка.

Функция solve выступает в роли авторского решения задания и используется для:
- проверки корректности и согласованности задания
- создания вспомогательного объекта clue для передачи в функцию check, если он не был создан в generate

check(reply, clue): функция, которая выполняет проверку вывода программы учащегося, отработанной на одном входном тесте, и выставляет за него оценку. Опционально вместе с оценкой можно вернуть отзыв (подсказку) на решение, который будет показан учащемуся. Отзыв можно вернуть как на правильное, так и на неправильное решение.

Процесс проверки решения учащегося заключается в тестировании программы последовательно на каждом тесте из списка. Решение считается правильным, если оно успешно прошло все тесты. Проверка решения прекращается на первом неудачном тесте. В таком случае учащийся получит сообщение об ошибке с порядковым номером теста, на котором его программа выдала неправильный ответ или завершилась аварийно. Вместе с номером теста учащийся получит отзыв (подсказку), если его вернула функция check.

Материалы курса

1. Записанные видеолекции, доступные учащимся 24/7
2. Тесты для закрепления определений и терминов модуля
3. Практические задания
4. Подборки материалов для самостоятельного изучения

Учебная литература

Электронные информационные и образовательные ресурсы

Темы

Декартовы деревья Хеш-таблицы Разбор задач на хеш-таблицы Финальные задачи Разбор финальных задач
Лекции
1,00ч
Практические занятия
20,00ч
Самостоятельная работа
13,00ч
Всего
34,00ч
Лекции
2,00ч
Практические занятия
17,00ч
Самостоятельная работа
4,00ч
Всего
23,00ч
Самостоятельная работа
5,00ч
Всего
5,00ч
Практические занятия
31,00ч
Всего
31,00ч
Самостоятельная работа
6,00ч
Всего
6,00ч
Промежуточная аттестация 2,00 часа
Задача на программирование