Для всех учителей из 37 347 образовательных учреждений по всей стране

Скидка до 75% на все 778 курсов

Выбрать курс
Получите деньги за публикацию своих
разработок в библиотеке «Инфоурок»
Добавить авторскую разработку
и получить бесплатное свидетельство о размещении материала на сайте infourok.ru
Инфоурок Информатика СтатьиАвтоматическая система проверки решений задач по программированию

Автоматическая система проверки решений задач по программированию

библиотека
материалов

Мещерякова Татьяна Алексеевна

Учитель информатики в Международной школе «Мирас»
„Автоматическая система проверки решений задач по программированию”

 

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

Происходит популяризация профессии программиста как творческого труда, требующего высокой квалификации. На основе олимпиад по информатике и программированию был предложен и развивается соревновательный подход в образовании. Одним из важных отличий конкурсов и соревнований по предметам информатика и программирование от большинства прочих  является автоматизация проверки работ участников. При этом проверка и подведение итогов соревнований по программированию происходят в реальном времени. Первые системы проверки решений были лишь вспомогательным инструментом, предназначенным для поддержки жюри, осуществлявшего ручную проверку решений. С ростом числа участников появилась необходимость в автоматической системе управления соревнованиями.

С каждым днем компьютер и современные информационные технологии занимают все большее место в учебном процессе. Это и учебные материалы, доступные в глобальной сети, и различные компьютерные лаборатории, мо­делирующие те или иные физические про­цессы и позволяющие проводить виртуаль­ные эксперименты.

С другой стороны, на данный момент возможности компьютерных технологий существенно уступают человеку в оценке усвоенных учеником знаний. Они не позво­ляют проверять правильность решений за­дач, представленных в естественной фор­ме, и не способны оценить процесс мыш­ления. Большинство подходов к оценке ус­воения материала базируется на тестах, что вряд ли можно назвать хорошим спосо­бом проверки знаний.

Школьная программа обучения предусматривает обучение школьников программированию ЭВМ. Ученики могут составлять прикладные компьютерные программы во время практических и лабораторных занятий по математическим и техническим дисциплинам, закрепляя практические навыки решения задач по этим предметам.

Выполнение заданий с помощью составления прикладных программ на «непрограммистских» предметах создает некоторые трудности в проверке этих заданий. Как справедливо заметить, важной особенностью проверки компьютерных программ является то, что «сами тексты созданных программ или алгоритмов — решений задач, проверять гораздо труднее, чем решения … задач по математике или физике. Опыт показывает, что для этого требуется большое число проверяющих — специалистов по программированию высокой квалификации, взаимно контролирующих друг друга, и несколько дней работы … иногда проверка текста программы вообще невозможна».

Иногда преподаватель, проверяющий прикладные компьютерные программы, может попросить ученика объяснить соответствие алгоритма работы его программы с исходным текстом и, таким образом, несколько облегчить процесс проверки. На практике же обычно работоспособность программы оценивается не по ее внутренней структуре, а по результатам ее работы. Если же преподаватель проверяеть задачи в неурочное время, то часто не имеет возможности услышать комментарии ученика по алгоритму ее выполнения и проверяет ее только по результатам работы программы.

Исходя из сказанного выше, видно, что выходом из данной ситуации могло бы стать тестирование результатов работы программы с возможным последующим анализом кода программы. Также процесс проверки результатов работы компьютерных программ можно автоматизировать, в отличие от процесса анализа исходных текстов. Таким образом, возникает проблема автоматизированного тестирования программ.

           В части решения вышеуказанных задач особое внимание необходимо уделить программному комплексу Contester.

           Contester - это система для проведения турниров и индивидуального решения задач по олимпиадному программированию (спортивному программированию). Система содержит условия задач - от легких до олимпиадных - и возможность проверки решений на большинстве современных языков: C++, Object Pascal, Java и языках .NET: C#, J# и Visual Basic. Contester работает на Windows и на Linux.

Таким образом „Автоматическая система тестирования решений” Contester пришёл в обучение программированию из конкурсов и олимпиад ,  в течение последних несколько лет популярность его неуклонно растёт. Польза, а в случае обучения олимпиадному программированию на высоком уровне и необходимость – применения контестера очевидна и связана с двумя его основными качествами: автоматизированностью и онлайн-функционированием. Первое позволяет в разы ускорить процесс проверки решений и сделать её значительно более достоверной (тестирование на наборах из десятков разработанных заранее тестов за секунды), второе позволяет работать с системой удалённо. Для преподавателя это возможность сэкономить время, затрачиваемое на тестирование решений обучающихся вручную. Для обучающихся Contester, с одной стороны, гарантирует, что правильное решение будет оценено по достоинству, с другой – лишает соблазна схалтурить, написать «бутафорское» решение.

О плюсах Contester можно сказать много и это оправданно, роль автоматической проверки в обучении программированию сложно переоценить. Отсюда растущая популярность, приводящая к внедрению Contester там, где он до сих пор не использовался и увеличению его роли  там, где он успешно применяется. В первом случае, когда Contester используется как дополнение и работа с ним занимает небольшую часть времени обучающихся, ход обучения существенно не меняется: наблюдается в основном упомянутое ранее ускорение проверки и в некоторой степени привыкание к чётким условиям и форматам ввода-вывода. Во втором же случае, когда роль Contester в обучении повышается, соответственно повышается и влияние особенностей такой формы обучения как на обучающихся, так и на преподавателя.

Данная система проверки решений задач по программированию, позволяет автоматизировать данный процесс и снизить труд преподавателя по просмотру исходных текстов решений задач. Система обеспечивает независимость и объективность проверки. Она предоставляет преподавателю и учащимся удобные средства просмотра статистики сдачи решений. Система способствует выработке у обучаемого навыков тестирования программ. Кроме этого система может быть успешно использована при реализации тестирующих модулей в сетевых учебно-методических комплексах.

Курс повышения квалификации
Курс профессиональной переподготовки
Учитель информатики
Курс профессиональной переподготовки
Учитель математики и информатики
Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:
также Вы можете выбрать тип материала:
Проверен экспертом
Общая информация

Вам будут интересны эти курсы:

Курс повышения квалификации «Информационные технологии в деятельности учителя физики»
Курс повышения квалификации «Методика преподавания информатики в начальных классах»
Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»
Курс профессиональной переподготовки «Информатика: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Развитие информационно-коммуникационных компетенций учителя в процессе внедрения ФГОС: работа в Московской электронной школе»
Курс профессиональной переподготовки «Информационные технологии в профессиональной деятельности: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Введение в программирование на языке С (СИ)»
Курс профессиональной переподготовки «Теория и методика обучения информатике в начальной школе»
Курс повышения квалификации «Специфика преподавания дисциплины «Информационные технологии» в условиях реализации ФГОС СПО по ТОП-50»
Курс повышения квалификации «Современные языки программирования интегрированной оболочки Microsoft Visual Studio C# NET., C++. NET, VB.NET. с использованием структурного и объектно-ориентированного методов разработки корпоративных систем»
Курс повышения квалификации «Применение интерактивных образовательных платформ на примере платформы Moodle»

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

Репетиторы онлайн

✅ Подготовка к ЕГЭ/ГИА
✅ По школьным предметам

✅ На балансе занятий — 1

Подробнее