ИСПОЛЬЗОВАНИЕ СРЕДСТВ АВТОМАТИЧЕСКОЙ ПРОВЕРКИ ПРИ ОБУЧЕНИИ ОСНОВАМ ПРОГРАММИРОВАНИЯ
ФГБОУ ВПО "Пермский государственный национальный исследовательский университет"
Обучение основам программирования закладывает фундамент, от прочности которого зависит успешность целого ряда дисциплин, связанных в программированием, в будущем. Очень важно выработать у студентов устойчивые навыки работы с базовыми алгоритмическими конструкциями и структурами данных. Ограниченность времени практических занятий, всего один преподаватель для множества студентов и, наконец, сокра
<p>
<br />
<br />
<br />
Обучение основам программирования закладывает фундамент, от прочности которого зависит успешность целого ряда дисциплин, связанных в программированием, в будущем. Очень важно выработать у студентов устойчивые навыки работы с базовыми алгоритмическими конструкциями и структурами данных. Ограниченность времени практических занятий, всего один преподаватель для множества студентов и, наконец, сокращение аудиторных часов при оптимизации учебных планов – вот те проблемы, с которыми приходится сталкиваться большинству преподавателей. При обучении программированию важна так же своевременная обратная связь. В задачах по программированию нет единственно верного ответа и выявить недостатки программы можно только путем тщательного тестирования. Поэтому средства автоматического тестирования программы являются первыми помощниками преподавателя программирования.</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
Использование средств автоматической проверки правильности программ позволяет: </p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
1) освободить преподавателя от рутинной работы по тестированию программ и сконцентрироваться на качестве создаваемого программного кода;</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
2) увеличить число заданий, выполняемых студентами за одно занятие;</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
3) эффективно организовать самостоятельную работу студентов;</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
4) существенно снизить субъективную составляющую при формировании оценки.</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
Переход на такой, более технологичный подход в обучении, несомненно, требует дополнительных усилий со стороны преподавателей при подготовке к занятиям. Но результат оправдывает средства.</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
На сегодняшний день для автоматической проверки нами активно используются возможности электронного задачника ProgrammingTaskbook (<a a="" class="txttohtmllink" href="http://ptaskbook.com">http://ptaskbook.com</a>). Несмотря на то, что авторами задачника представлен обширный банк заданий, мы используем возможности самостоятельной разработки новых заданий. В этом случае преподаватель прописывает текст задания, алгоритм его решения и алгоритмы генерации тестовых данных как программу на языке программирования. Так можно создавать наборы заданий, адаптированные под уровень студентов, по тем темам, которые отсутствуют в «стандартном» задачнике, делать многовариантные однотипные задания, и, наконец, не покупать лицензии на использование задачника.</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
Но мы рекомендуем использовать задачник ProgrammingTaskbook лишь на начальном этапе обучения, т. к. у него есть один существенный недостаток: он не умеет скрывать тестовые данные, на которых тестировалась программа. Поэтому остается возможность «подогнать решение под ответ» и секреты технологий тестирования рискуют остаться так и не изученными студентами. Наиболее адекватным решением данной проблемы является использование тестирующих систем, широко распространенных в среде «спортивного (олимпиадного) программирования». При работе в таких системах тестовые данные, обрушившие решение, остаются скрытыми от пользователя, поэтому решение задач всегда содержит некую головоломку, загадку. Долгий и порой мучительный поиск ошибок в своей собственной программе часто бывает более полезен для совершенствования квалификации программиста. </p>
<br />
<br />
<br />
Обучение основам программирования закладывает фундамент, от прочности которого зависит успешность целого ряда дисциплин, связанных в программированием, в будущем. Очень важно выработать у студентов устойчивые навыки работы с базовыми алгоритмическими конструкциями и структурами данных. Ограниченность времени практических занятий, всего один преподаватель для множества студентов и, наконец, сокращение аудиторных часов при оптимизации учебных планов – вот те проблемы, с которыми приходится сталкиваться большинству преподавателей. При обучении программированию важна так же своевременная обратная связь. В задачах по программированию нет единственно верного ответа и выявить недостатки программы можно только путем тщательного тестирования. Поэтому средства автоматического тестирования программы являются первыми помощниками преподавателя программирования.</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
Использование средств автоматической проверки правильности программ позволяет: </p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
1) освободить преподавателя от рутинной работы по тестированию программ и сконцентрироваться на качестве создаваемого программного кода;</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
2) увеличить число заданий, выполняемых студентами за одно занятие;</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
3) эффективно организовать самостоятельную работу студентов;</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
4) существенно снизить субъективную составляющую при формировании оценки.</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
Переход на такой, более технологичный подход в обучении, несомненно, требует дополнительных усилий со стороны преподавателей при подготовке к занятиям. Но результат оправдывает средства.</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
На сегодняшний день для автоматической проверки нами активно используются возможности электронного задачника ProgrammingTaskbook (<a a="" class="txttohtmllink" href="http://ptaskbook.com">http://ptaskbook.com</a>). Несмотря на то, что авторами задачника представлен обширный банк заданий, мы используем возможности самостоятельной разработки новых заданий. В этом случае преподаватель прописывает текст задания, алгоритм его решения и алгоритмы генерации тестовых данных как программу на языке программирования. Так можно создавать наборы заданий, адаптированные под уровень студентов, по тем темам, которые отсутствуют в «стандартном» задачнике, делать многовариантные однотипные задания, и, наконец, не покупать лицензии на использование задачника.</p>
<br />
<br />
<br />
<p>
<br />
<br />
<br />
Но мы рекомендуем использовать задачник ProgrammingTaskbook лишь на начальном этапе обучения, т. к. у него есть один существенный недостаток: он не умеет скрывать тестовые данные, на которых тестировалась программа. Поэтому остается возможность «подогнать решение под ответ» и секреты технологий тестирования рискуют остаться так и не изученными студентами. Наиболее адекватным решением данной проблемы является использование тестирующих систем, широко распространенных в среде «спортивного (олимпиадного) программирования». При работе в таких системах тестовые данные, обрушившие решение, остаются скрытыми от пользователя, поэтому решение задач всегда содержит некую головоломку, загадку. Долгий и порой мучительный поиск ошибок в своей собственной программе часто бывает более полезен для совершенствования квалификации программиста. </p>
Тип выступления | Стендовый доклад |
Уровень образования | Высшее профессиональное |