Литература
1.
Скакун В.А. Методика преподавания специальных и общетехнических предметов (в схемах и
таблицах): учебное пособие для нач. проф. образования. М.: Издательский центр «Академия», 2016.
128 с.
2.
Щербакова Е.В. Особенности организации самостоятельной работы студентов по педагоги-
ческим дисциплинам // Актуальные вопросы современной психологии: материалы Междунар. науч.
конф. (г. Челябинск, март 2011 г.). Челябинск: Два комсомольца, 2011. С. 139–141.
168
МЕТОДЫ И ТЕХНОЛОГИИ ОЦЕНКИ КАЧЕСТВА
И КОНТРОЛЯ ЗНАНИЙ. ВОПРОСЫ ОРГАНИЗАЦИИ
И ОПТИМИЗАЦИИ УЧЕБНОГО ПРОЦЕССА
АВТОМАТИЗИРОВАННАЯ СИСТЕМА
ОЦЕНКИ НАВЫКОВ ПРОГРАММИРОВАНИЯ У СТУДЕНТОВ
©
E.А. Альтман
доцент кафедры автоматики и систем управления
Омского государственного университета путей сообщения,
кандидат технических наук, доцент
Аннотация. В статье рассмотрены способы автоматизированной проверки результатов освоения сту-
дентами курса программирования. Приводятся примеры бесплатных программных продуктов для реализации
такой проверки. Предлагаются способы построения заданий для оценки навыков программирования.
Ключевые слова: тест, программирование, аттестация, оценка навыков.
Оценка знаний, умений и навыков, полученных студентами в процессе изучения дис-
циплины, является важной частью учебного процесса. Значение аттестации заключается не
только в выставлении студенту некоторой числовой характеристики уровня его владения
предметом, но и в закреплении и систематизации знаний и навыков в процессе подготовки и
сдачи экзамена.
Важность аттестации прослеживается как в образовательных стандартах, так и в резуль-
татах проверки остаточных знаний. Например, в стандартах бакалавриата присутствует нор-
ма – не менее 27 часов на подготовку и сдачу экзамена. Также многие преподаватели отме-
чают, что студенты, которые не смогли заработать оценку «автоматом» и готовились и сда-
вали экзамен, часто показывали через некоторое время лучшие знания, чем студенты, полу-
чившие оценку по итогам работы в семестре и не занимающиеся предметом во время сессии.
Одна из тенденций развития современной системы образования заключается в форма-
лизации и автоматизации процедуры оценки знаний обучающихся [4]. Одной из причин та-
кой тенденции является желание сделать более объективной процедуру оценивания и очи-
стить ее от коррупционной составляющей. Наиболее ярким примером этого является внедре-
ние единого государственного экзамена. Немаловажным фактором является оптимизация за-
трат на проведение аттестации. Подтверждением значимости этого фактора может служить
появление различных «центров тестирования» в некоторых высших учебных заведениях.
Вместе с тем внедрение автоматизированных систем часто подвергается критике [6].
Основное возражение направлено на форму проведения автоматизированной проверки зна-
ний в виде тестирования. Обычная процедура проведения тестирования предполагает выбор
правильного ответа из нескольких предложенных вариантов. Направленная на результат
подготовка к такому виду аттестации подразумевает «натаскивание» обучающихся на пра-
вильные ответы, что не способствует пониманию сути рассматриваемого материала.
Построение автоматизированных систем, которые бы не просто проверяли знание от-
дельных фактов, а оценивали понимание материала, умения и навыки практической работы,
© E.А. Альтман, 2017
169
в общем случае затруднительно. Системы искусственного интеллекта в настоящее время
весьма не совершенны и не подходят для решения этой задачи.
Попытки развития систем тестирования с помощью добавления различных вариантов
вопросов также не позволяют решить проблему «натаскивания». Рассмотрим, к примеру, по-
пулярную систему для дистанционного образования Moodle [2]. В ней имеется 12 различных
типов вопросов. Помимо различных вариантов вопросов с ответами на выбор (одиночный,
множественный выбор, ответы с весами и т.п.), имеется ряд типов вопросов, ответ на кото-
рый нужно ввести с клавиатуры. Однако, во всех таких типах вопросов ответы являются од-
нозначными, и, также как и в вопросах на выбор, подготовка к экзамену сводится к заучива-
нию ответов. Единственный тип вопросов, требующий творческого подхода к ответу, это во-
просы типа «эссе». Однако ответы вопросы типа «эссе» требуют проверки преподавателем и
не подходят для автоматизированной оценки знаний.
В отдельных отраслях знаний возможны частные решения для интеллектуальной оцен-
ки умений и навыков, приобретенных студентами в процессе обучения. Рассмотрим возмож-
ное решение для автоматизированной оценки навыков программирования у студентов.
Оценить знание студентов языка программирования (типов данных, операторов, функ-
ций, различных синтаксических конструкций) можно с помощью теста [3; 5]. Однако оценка
навыков программирования в такой форме проводиться не может. Практически для любой
задачи в программировании возможно несколько вариантов решений. Причем речь идет не о
расстановке пробелов и скобок или выборе имен переменных, а о принципиальных отличиях –
можно использовать разные структуры данных (например, можно решить задачу с помощью
массивов или списков), различные формы цикла, способы проверки условий и т. д. Основ-
ным критерием проверки правильности ответа становится работоспособность программы.
К счастью, автоматическая проверка работоспособности программ уже реализована
организаторами турниров по спортивному программированию. Например, имеется извест-
ная бесплатная российская система для проведений соревнований по программированию
Ejudge [1].
Эта система имеет широкие возможности по проверке исходных кодов программ. Ос-
новным способом проверки является компиляция исходных кодов и запуск программы с ис-
пользованием нескольких тестовых наборов выходных данных. Результаты работы програм-
мы с тестовыми входными данными сравниваются с эталонными результатами. При этом
сравнение может вестись несколькими способами: побайтное сравнение, сравнение числен-
ного результата с указание допустимой погрешности, сравнение массивов данных, сравнение
текстов с точностью до регистра и пробелов и др.
Дополнительно можно включить проверку исходных кодов с использование синтакси-
ческих анализаторов или других средств. Возможно подключение своих модулей проверки
решений.
Система ejudge ориентирована на проведение турниров по программированию, но мо-
жет быть использована и для аттестации обучающихся программированию. Как показывает
опыт, для адаптации системы под задачу аттестации не нужно изменять программный код
системы, а достаточно провести методическую работу и подготовить соответствующим об-
разом задания и наборы тестов для них.
Отличие аттестационных заданий по программированию от олимпиадных заключается,
прежде всего, в том, что при аттестации обучающихся нужно определить уровень владения
определенным навыком. В связи с этим лучшим вариантом будут задания, частично содер-
жащие код программы для ее решения. В приведенном в задании коде программы должен
отсутствовать фрагмент, для реализации которого проверяемый должен продемонстрировать
требуемый навык (написать цикл, определить функцию, реализовать алгоритм и т. п.).
170
Автоматизированная описанным способом система проверки знаний обучающихся
имеет несколько преимуществ перед обычными методами проведения аттестаций.
Во-первых, это экономия времени преподавателя (особенно это хорошо чувствуется
при работе с отстающими студентами).
Во-вторых, автоматически собираются данные об освоении обучающимися тех или
иных разделов дисциплины. Собранная статистика позволяет анализировать результаты обу-
чения с целью выявления узких мест и учитывать результаты анализа при обновлении учеб-
ных материалов.
В-третьих, автоматизация проверки знание позволяет повысить объективность выстав-
ляемых оценок.
Конечно, компьютер пока не сравнится с живым преподавателем в гибкости при прове-
дении экзамена, но, в целом, преимущества от использования автоматизированной системы
оценки навыков обучающихся перевешивают недостатки.
Do'stlaringiz bilan baham: |