Тип работы:
Предмет:
Язык работы:


Моделирование процесса автоматической проверки заданий по программированию при онлайн обучении

Работа №105252

Тип работы

Магистерская диссертация

Предмет

информатика

Объем работы74
Год сдачи2021
Стоимость4990 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
81
Не подходит работа?

Узнай цену на написание


Введение 4
1 Анализ возможности автоматической проверки задач по
программированию 7
1.1 Основные критерии оценки программных решений студентов 7
1.2 Используемые методы проверки программных решений студентов 8
1.3 Постановка задачи на исследование реализации автоматической
проверки программных решений 13
2 Анализ существующих решений проблем автоматической проверки задач
по программированию 18
2.1 Способы проверки корректности исходного кода программы 18
2.2 Методы проверки оригинальности исходного кода программы 21
2.3 Способы проверки корректности работы программы 27
2.4 Способы безопасного выполнения программы 29
2.5 Пути решения задач автоматической проверки программных
решений 34
3 Разработка модели процесса автоматической проверки задач по
программированию 36
3.1 Общая модель процесса проверки программного решения 36
3.2 Проверка оригинальности исходного кода программного решения 38
3.3 Оценка стиля исходного кода программного решения 45
3.4 Оценка корректности работы программы 50
4 Оценка разработанной модели процесса автоматической проверки задач по
программированию 55
4.1 Критерии оценки полученной модели процесса автоматической
проверки программных решений 55
4.2 Исходные данные для проверки программных решений 56
4.3 Тестирование разработанной модели процесса автоматической проверки
программных решений 61
4.4 Оценка и анализ результатов тестирования разработанной модели
процесса автоматической проверки программных решений 63
4.5 Возможные перспективы дальнейшего развития разработанной модели процесса автоматической проверки программных решений 66
Заключение 69
Список используемой литературы и используемых источников 70

Онлайн-образование, несмотря на свою относительную молодость, в настоящее время набирает всё большую популярность, так как благодаря нему можно получать знания, находясь практически в любом месте, и стоимость такого обучения значительно ниже. Как и при обычном обучении, получая образование дистанционно, необходимо выполнять различные работы, которые впоследствии буду проверены и оценены. Так как обучение производится дистанционно и нужно проверять достаточно большое количество различных работ учащихся, образовательному учреждению просто необходимо использовать системы автоматической проверки работ.
В рамках данной темы будет рассматриваться автоматическая проверка задач по программированию при дистанционном обучении в Тольяттинском государственном университете.
Объектом исследования являются методы и технологии автоматической проверки заданий при онлайн обучении.
Предметом исследования является процесс автоматической проверки задач по программированию при онлайн обучении.
Целью данного исследования является создание модели процесса автоматической проверки задач по программированию при онлайн обучении.
Для достижения поставленной цели необходимо выполнить следующие задачи:
- изучить критерии оценки работы студента;
- выявить основные положения, концепции системы автоматической проверки задач по программированию при онлайн обучении;
- изучить методы и технологии проверки исходного кода программы студента;
- изучить методы и технологии проверки работы программы студента и выдаваемых ею результатов;
- создать модель процесса автоматической проверки задач по программированию при онлайн обучении.
Для достижения поставленной цели, исследование будет проводится методом абстрагирования.
Научная новизна исследования определяется поставленной научной целью и задачами, имеющими теоретическую и практическую значимость, и выражается в расширении научных представлений о статическом анализе исходного кода и автоматической оценке программного решения. Новизна заключается в сделанных на основании проведенного исследования научных предложениях и выводах, в том числе: выделены критерии оценки программного решения; обоснован выбор методов и способов, решающих проблемы автоматической проверки программных решений; разработаны алгоритмы проверки исходного кода программного решения.
На защиту выносятся следующие основные положения, являющиеся новыми или содержащие элементы новизны:
- разработана модель процесса автоматической проверки задач по программированию;
- для определения процента оригинальности исходного кода в процесс автоматической проверки был внедрён метод разбиения на токены;
- внедрено использование виртуальных машин для безопасной проверки работы программного решения, а также дополнен алгоритм его тестирования;
- разработан алгоритм проверки стиля исходного кода, использующий авторскую систему штрафных баллов.
Теоретическая значимость работы заключается в том, что полученные результаты оказали влияние на область статического анализа исходного кода программ.
Практическая значимость - итоги исследования могут быть применены для создания системы автоматической проверки программных решений при онлайн обучении.
Основные теоретические положения, выводы и научно-практические рекомендации, которые изложены в диссертации, получили отражение в 2 статьях.
Результаты исследования были обсуждены на конференциях:
- Международная научно-техническая конференция «Перспективные информационные технологии» (ПИТ-2020);
- VI Международная научно-практическая конференция (школа- семинар) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и технических наук»;
- IV Всероссийская научная конференция с международным участием «Информационные технологии в моделировании и управлении: подходы, методы, решения»;
- VII Международная научно-практическая конференция (школа- семинар) молодых ученых «Прикладная математика и информатика: современные исследования в области естественных и технических наук».
Диссертационное исследование состоит из введения, 4 разделов, заключения и библиографии (30 наименований). Работа изложена на 74 страницах, содержит 23 рисунка и 15 таблиц.


Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


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



1. Аксенова Н. В., Диденко А. В. Эффективные методы и подходы для разработки электронного курса // Профессиональное образование в России и за рубежом. - 2016. - №2 (22). - С. 108-114.
2. Андреева, Т. А. Возможность автоматизации процесса генерирования тестовых наборов // Universum: технические науки. 2017. №8 (41). URL: https://cyberleninka.ru/article/nyvozmozhnost-avtomatizatsii-protsessa- generirovaniya-testovyh-naborov(дата обращения: 05.11.2019).
3. Бедердинова О. И., Бойцова Ю. А. Интегральная оценка качества
программных средств // Arctic Evironmental Research. 2016. №2. URL:
https://cyberleninka.ru/article/n/integralnaya-otsenka-kachestva-programmnyh- sredstv(дата обращения: 29.11.2019).
4. Блоховцова Г. Г., Волохатых А. С. Перспективы развития
дистанционного образования. Преимущества и недостатки // Символ науки. 2016. №10-2. [Электронный ресурс]. URL:
http://cyberleninka.ru/article/n/perspektivy-razvitiyadistantsionnogo-obrazovaniya- preimuschestva-i-nedostatki(дата обращения: 08.01.2018).
5. Введение в программные системы и их разработку [Электронный ресурс] : [учеб. пособие] / С. В. Назаров [и др.]. - 2-е изд., испр. - Москва : ИНТУИТ, 2016. - 649с. : ил.
6. Гладких И. Ю., Якушин А. В. Системы автоматизированного
тестирования по программированию в образовательном пространстве // Современные проблемы науки и образования. - 2016. - № 3.; URL:
http://www.science-education.ru/ru/article/view?id=24719(дата обращения: 27.10.2019).
7. Голодок Д. А., Алексеев В. М. Преимущества дистанционного
обучения // Инновационная наука. 2016. №11-2. URL:
https://cyberleninka.ru/article/n7preimuschestva-distantsionnogo-obucheniya-1(дата обращения: 03.12.2019).
8. Горчаков Л. В., Стась А. Н., Карташов Д. В. Обучение программированию с использованием системы Ejudge // Вестник ТГПУ. 2017. №9 (186). URL: https://cyberleninka.ru/article/n/obuchenie -programmirovaniyu-s- ispolzovaniem-sistemy-ejudge (дата обращения: 27.10.2019).
9. Евстропов, Г. О. Оистемы оценивания в задачах с автоматической проверкой на олимпиадах по программированию / Г. О. Евстропов // Информатика и образование. - 2016. - № 3 (272). - С. 65-67.
10. Князева Е. В., Попова Г. И. Мобильность педагогического образования на примере обучения языкам программирования // ИСОМ. 2016. №5-1. С. 167-170.
11. Лишманова Н. А., Пимичева М. А. Дистанционное обучение и его
роль в современном мире // Научно-методический электронный журнал «Концепт». - 2016. - Т. 11. - С. 2216-2220. - URL: http://e-
koncept.ru/2016/86472.htm.
12. Макиева, З. Д. Проектирование автоматизированной системы проверки олимпиадных заданий по программированию / З. Д. Макиева // Известия Кыргызского государственного технического университета им. И. Раззакова. - 2016. - Т. 38. - С. 54-61.
13. Мокрый, В. Ю. О преподавании дисциплины «Информатика»
студентам гуманитарного вуза с помощью системы дистанционного обучения Moodle // Вестник ТГПУ. 2017. №9 (186). URL:
https://cyberleninka.ru/article/n/o-prepodavanii-distsipliny-informatika-studentam- gumanitarnogo-vuza-s-pomoschyu-sistemy-distantsionnogo-obucheniya-moodle(дата обращения: 03.12.2019).
14. Петракова, Н. В. Информационные технологии дистанционного
обучения // Сборник научных трудов института энергетики и
природопользования. Брянск, 2017. С.171-174.
15. Привалов А. Н., Гладких И. Ю. Принципы построения и
реализация системы автоматизированного тестирования решений задач по программированию // Известия ТулГУ. Технические науки. 2016. №2. URL: https://cyberleninka.ru/article/n/printsipy-postroeniya-i-realizatsiya-sistemy- avtomatizirovannogo-testirovaniya-resheniy-zadach-po-programmirovaniyu(дата обращения: 27.10.2019).
16. Самощенко, Ю. Ю. Исследование эффективности автоматизированной проверки решений при проведении олимпиад по программированию / Ю. Ю. Самощенко // Молодой ученый. - 2016. - № 11. - С. 223-226.
17. Сверчкова, Г. В. Автоматизированная система проверки результатов олимпиады по программированию / Г. В. Сверчкова, Д. И. Кислицын // Сборник статей студ., аспирантов и магистр. «Информационные системы и технологии». - 2016. - С. 30-34.
18. Семенова З. В., Любич С. А., Кузнецов А. Г., Мальцев П. А.
Сравнительная характеристика средств автоматизированной проверки правильности составления SQL-запросов // Вестник СибАДИ. 2017. №3 (55). URL: https://cyberleninka.ru/article/n7sravnitelnaya-harakteristika-sredstv-
avtomatizirovannoy-proverki-pravilnosti-sostavleniya-sql-zaprosov (дата
обращения: 05.11.2019).
19. Серегина, Е. А. Технология дистанционного обучения как способ
получения высшего образования в России // ПНиО. 2018. №2 (32). URL: https://cyberleninka.ru/article/n/tehnologiya-distantsionnogo-obucheniya-kak- sposob-polucheniya-vysshego-obrazovaniya-v-rossii (дата обращения:
03.12.2019).
20. Симуни М. Л., Соловьев А. Ю., Шайтан В. И. Автоматизированная
проверка задач в курсе «Функциональное программирование» // Современные информационные технологии и ИТ-образование. 2016. №3-1. URL:
https://cyberleninka.ru/article/n/avtomatizirovannaya-proverka-zadach-v-kurse- funktsionalnoe-programmirovanie(дата обращения: 27.10.2019).
21. Слепцова Л. Н., Николаев Е. В. Внедрение системы дистанционного обучения Moodle для работы со студентами с индивидуальным графиком обучения как ключевое направление развития образовательных учреждений профессионального образования // Kant. 2017. №4 (25). URL: https://cyberleninka.ru/article/n/vnedrenie-sistemy-distantsionnogo- obucheniya-moodle-dlya-raboty-so-studentami-s-individualnym-grafikom- obucheniya-kak-klyuchevoe(дата обращения: 03.12.2019).
22. Шагилова, Е. В. Архитектура и реализация программы онлайн-
тестировщика для проверки решений задач по олимпиадному программированию // Вестник ДГТУ. 2018. №2. URL:
https://cyberleninka.ru/article/n/arhitektura-i-realizatsiya-programmy-onlayn- testirovschika-dlya-proverki-resheniy-zadach-po-olimpiadnomu- programmirovaniyu(дата обращения: 05.11.2019).
23. Щанникова Е. А., Сараева Е. В. Дистанционное обучение как
важная составляющая внедрения информационных технологий в образовательный процесс // Научно-методический электронный журнал «Концепт». - 2016. - Т. 32. - С. 233-237 - URL: http://e-
koncept.ru/2016/56691.htm.
24. Якушин А. В., Гладких И. Ю. Выбор системы
автоматизированного тестирования решений задач по программированию // International Journal of Open Information Technologies. 2016. №6. URL:
https://cyberleninka.ru/article/n/vybor-sistemy-avtomatizirovannogo-testirovaniya- resheniy-zadach-po-programmirovaniyu(дата обращения: 27.10.2019).
25. Aldriye H., Alkhalaf A., Alkhalaf M. Automated Grading Systems for Programming Assignments: A Literature Review [Электронный ресурс] // International Journal of Advanced Computer Science and Applications. 2019. Vol. 10.3. PP. 215-222. URL: https://thesai.org/Downloads/Volume10No3/Paper_28- Automated_Grading_Systems.pdf(дата обращения: 03.12.2019).
26. Bennouar D. An Automatic Grading System Based on Dynamic
Corpora [Электронный ресурс] // The International Arab Journal of Information Technology. 2017. Vol. 14.4A PP. 552-564. URL:
https://pdfs.semanticscholar.org/f188/a42968741ca733178701766d1eebb9f0a410. pdf (дата обращения: 24.10.2019).
27. Earle C. B., Fredlund L-A., Hughes J. Automatic Grading of
Programming Exercises using Property-Based Testing [Электронный ресурс] // Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education. 2016. PP 47-52. URL:
https://www.cs.tufts.edu/~nr/cs257/archive/john-hughes/automatic-grading.pdf(дата обращения: 24.10.2019).
28. Hieke Keuning, Johan Jeuring, and Bastiaan Heeren. “Towards a Systematic Review of Automated Feedback Generation for Programming Exercises-Extended Version”. In: (2016).
29. Liu X., Wang S., Wang P., Wu D. Automatic Grading of Programming
Assignments: An Approach Based on Formal Semantics [Электронный ресурс] // Proceedings of the 41st International Conference on Software Engineering: Software Engineering Education and Training. 2016. PP. 126-137. URL:
https://faculty.ist.psu.edu/wu/papers/autograder.pdf(дата обращения: 24.10.2019).
30. Pedro Antonio Gutierrez et al. “Ordinal regression methods: survey and experimental study”. In: IEEE Transactions on Knowledge and Data Engineering 28.1 (2016), pp. 127-146.


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2024 Cервис помощи студентам в выполнении работ