Методика использования портала «Timus» в углублённом курсе информатики
Timus Online Judge(acm.urfu.ru) — это крупнейший в России архив задач по программированию с автоматической проверяющей системой. Данный портал позволяет принять участие в онлайн-версиях большинства соревнований, регулярно проводимые Уральским федеральным университетом.
Хотя в целом задачи, представленные на этом портале, ориентированы на студенческий уровень знаний, имеется достаточное количество задач, вполне доступных для школьников.
Условие каждой задачи включаеттри компонента:
– содержательное описание (называемое школьниками и студентами «сказкой»);
– описание формата исходных данных и результатов, а также ограничений на объем используемой памяти и время работы программы;
– от одного до трёх тестовых примеров.
В свою очередь решение задачи также состоит из трёх компонентов:
– построение математической модели и формализация задачи на основе её содержательного описания;
– разработка алгоритма решения;
– программная реализация и тестирование программы.
Первый комплект задач, который обсуждается с учащимися, подбирается так, чтобы разработка алгоритма и программная реализация были практически нулевыми по трудоёмкости. Как выяснилось, для учащихся нередко трудность представляет внимательное прочтение содержательного описания, четкое выделение в нём исходных данных и всех существенных связей между исходными данными и результатом. На этом же комплекте начинается обучение элементам тестирования.
Второй комплект содержит блоки задач на конкретные виды алгоритмических конструкций – ветвления, циклы в разных формах, – а также их комбинации.
Следующий комплект задач дифференцирован по двум параметрам. Во-первых, по применяемым для их решения алгоритмам и структурам данных. Такую дифференциацию естественно назвать тематической (алгоритмы поиска максимума, алгоритмы сортировки, поиск на графе в глубину и в ширину и т.д.). Во-вторых, внутри каждой темы задачи упорядочены по возрастанию сложности. Сложность определяется не только тем, насколько из проведённой формализации ясно, какой именно алгоритм здесь требуется использовать, но и характером математического аппарата, который необходим для решения задачи. Последнее играет наиболее значимую роль в задачах с комбинаторным и геометрическим содержанием.
Наконец, важным компонентом подготовки является обсуждение выбора языка программирования. Если на начальном этапе роль языка программирования незначительна, то по мере усложнения задач школьники становятся мотивированными на изучение всё более мощных языков, в частности, с большими библиотеками. Как правило, на втором году обучения учащиеся свободно владеют несколькими языками.
Использование в изучении программирования портала реальных соревнований по программированию высоко мотивирует учащихся нарешение задач и участие в соревнованиях.
К сегодняшнему дню при участии доцента кафедры информатики СУНЦ УрФУ С.Л. Сандаковой подготовлено методическое пособие для проведения занятий описываемого типа. В докладе будут представлены конкретные примеры задач и методики их решения.
Тип выступления | Устное выступление |
Уровень образования | Среднее (полное) общее |