Введение

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

Зачастую на подобных дисциплинах работы студентов представляют собой исходный код или скомпилированные программы. «Ручная» проверка таких работ является рутинной и затратной по времени деятельностью.

Помимо временных затрат при «ручной» проверке возникает целый ряд проблем:

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

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

  • 1. Изучить распространенные аспекты проверки заданий по программированию;
  • 2. Провести анализ подходов к автоматизации проверки корректности работы программы;
  • 3. Рассмотреть подходы к автоматизации анализа программного кода;
  • 4. Рассмотреть подходы обнаружения плагиата в текстовых документах и программных кодах;
  • 5. Выбрать подходы автоматизации проверки заданий по программированию на основе проведенного анализа;
  • 6. Разработать архитектуру программы автоматизации проверки работ по программированию;
  • 7. Разработать программу в соответствии с разработанной архитектурой;
  • 8. Провести тестирование и отладку разработанной программы;
  • 9. Разработать техническую документацию.

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

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >