ВВЕДЕНИЕ 3
ПЛАТФОРМА OPEN EDX И ОБЗОР ПРОБЛЕМЫ 6
Сущность проблемы 6
Edx для преподавателя 9
Возможные подходы к решению проблемы 10
АРХИТЕКТУРА И ВОЗМОЖНОСТИ РАСШИРЕНИЯ OPEN EDX 12
Архитектура платформы Open Edx 12
Ключевые компоненты 13
Справочная работа 16
Обзор возможностей расширения Open Edx 17
ХОД РАЗРАБОТКИ 20
Ход разработки 20
Возможные способы улучшения 24
ЗАКЛЮЧЕНИЕ 26
СПИСОК ЛИТЕРАТУРЫ 27
Опираясь, на проводимые для нас за время обучения, контрольные и экзаменационные работы по предметам связанным с системами управления базами данных (СУБД), можно предположить, что эта часть учебного процесса недостаточно автоматизирована. Подобные проверки знаний чаще всего проходят в следующих основных режимах:
1. Студенты получают текстовое описание предметной области и задание заключающееся в проектировании подходящей базы данных, удовлетворяющей некоторым нормальным формам. Проектирование может быть, как схематическое - в виде словесного описания и диаграмм, так и строгое в виде готовых SQL скриптов, заточенных под исполнение в определенной СУБД, либо комбинация этих двух способов.
2. Студенты располагают на своих вычислительных агрегатах развернутой базой данных, заранее подготовленной и, в той или иной степени, наполненной данными. И задание заключается в написании работоспособных скриптов на выборку, изменение, удаление данных, модификацию таблиц.
3. Студенты получают листы с тестами и/или с заданиями, предполагающими краткий ответ. Либо то же самое в электронной форме.
Первый вид заданий может иметь к себе, в некотором смысле, творческий подход и учащиеся могут построить и описать разные базы данных, но, при этом, одинаково имеющие право на существование. Более того, полученные студентами результаты могут стать откровением и для преподавателя. В целом, такой тип заданий зачастую требует подробного индивидуального разбора и с трудом могут поддаваться автоматизации без ущерба вариативности, но и здесь может найтись
место частичной автоматизации - возможно, стоит ограничиться предоставлением преподавателю схемы полученной от ученика базы данных, для дальнейшего оценивания. Третий вид автоматизирован давно и успешно и в той или иной степени эти наработки имеют применение в образовательном процессе, в случаях, когда преподаватель имеет время на их внедрение и желает сэкономить время на проверке таких заданий. Второй вид наиболее интересен с точки зрения автоматизации, так как автоматизирована эта область недостаточно и ограниченно, несмотря на то, что возможности для этого есть и без привлечения мощностей машинного обучения, ограничиваясь лишь классическими алгоритмическими методами.
Таким образом, для решения проблемы автоматизации проверки заданий второго типа и ставится цель построения системы автоматической проверки заданий, для решения которой необходимо решить следующие промежуточные задачи:
1. Ознакомиться с архитектурой платформы Open Edx, найти и изучить примеры успешного применения возможностей платформы в построении реальных образовательных проектов, изучить платформу с точки зрения не только разработчика, но и преподавателя, желающего автоматизировать и дистанцировать образовательный процесс и составить свои онлайн курсы.
2. Найти и изучить способы модификации и расширения функциональности платформы. Оценить модульность и гибкость архитектуры платформы.
3. Выбрать наиболее оптимальный способ добавления своего функционала к существующему.
4. Определить минимально необходимый и оптимальный функционал.
5. Перейти к реализации с использованием выбранных технологий и средств.
6. Протестировать результаты и оценить точность и качество полученного продукта. Оценить встраиваемость и интеграцию с платформой Open Edx.
В результате проделанной работы все поставленные цели были достигнуты. Был разработан подключаемый модуль для проверки новых типов упражнений, ранее проверяемых лишь в ручную, либо с помощью ограниченного функционала тестовых проверок. Для реализации использовались технологии, предоставляемые платформой Open Edx, Логика проверки написана на языке программирования высокого уровня python. Программный продукт имеет разделение на серверную и клиентскую части, что позволило обойти ограничения платформы Open Edx и вынести программную логику проверки на независимый от неё сервер. Реализована проверка ответов учеников на задан В состав модуля также входит шаблон упражнения. Программный продукт, после доработок по улучшению интеграции с платформой Open Edx и покрытия тестами может найти ограниченное применение в образовательном процессе. В процессе разработки модуля был переведен большой пласт документации платформы Open Edx, большая часть из переведенных материалов представлена в тексте дипломного проекта. Переводу подверглись те части документации, которые непосредственно касаются изучаемой темы, такие как: обзор
архитектуры, описание его составных частей, назначение и краткий обзор edx studio, раздел, описывающий назначение, построение и тестирование пользовательских JavaScript приложений.
1. Абрамов С.А. и др. Задачи по программированию. - М.: Наука, С-Петербург, 1988.
2. Алексеев В.Е. и др. Вычислительная техника и программирование. Практикум по программированию. - М.: ВШ, 1991.
3. Бондарев В. - М., Рублинецкий В.И., Качко Е.Г. Основы программирования. - Харьков: Фолио, Ростов н/Д: Феникс,
1997. - 368 с.
4. Вирт Н. Алгоритмы и структуры данных. - М.: Мир, 1989.
5. Вирт Н. Алгоритмы + структура данных = программы. - М.: Мир, 1985.
6. Гладков В.П. Конспект лекций по программированию для начинающих: Учеб. пособие / Перм. гос. техн. ун-т. - Пермь,
1998. - 217 с.
7. Есаян А.Р. и др. Информатика. - М.: Просвещение, 1991.
8. Гладков В.П. Курс лабораторных работ по программированию: Учебное пособие для специальностей электротехнического факультета ПГТУ / Перм. гос. техн. ун-т. - Пермь, 1998. - 153 с.
9. В.П. Гладков, А.П. Шестаков. Вопросы, задания и контрольные работы для начинающих программистов (материалы к уроку). // Информатика, 2001, № 20(309). - с. 1013; №№ 33-35, 37-38, 40.
10. В.П. Гладков, А.П. Шестаков. Вопросы, задания и контрольные работы для начинающих программистов (избранные темы). // Информатика, Москва, 2003, №№ 27-28 (412-413) - 64 с.
11. Дмитриева М.В., Кубенский А.А. Элементы современного программирования. - СПб: изд-во С. - П. университета, 1991.
12. Лучано Ромальё. Python. К вершинам мастерства. / Пер. с англ. Слинкин А.А. - М.: ДМК Пресс, 2016.
13. Документация STEPIK API- https: //readthedocs. org/proj ects/stepic- plugins.
14. Документация PostgrSQL - http://postgresql.ru.net/docs.html.
15. edX. - https://www.edx.org.
16. Coursera. - https: //www.coursera. org/about/.
17. Dimitri Fontaine, Mastering PostgreSQL In Application Development // Paperback, eBook / 2017.
18. Mak Sui, Williams Roy, Mackness Jenny. Blogs and forums as communication and learning tools in a MOOC // Networked Learing Conference / University of Lancaster. — 2010. — P. 275-285.
19.Simon Riggs, Gianni Ciolli, PostgreSQL 10 Administration Cookbook // Paperback, eBook/ 2013.
20. Документация Flask framework - http://flask.pocoo.org/docs/0.12/