ВВЕДЕНИЕ 4
1 Анализ предметной области 6
1.1 Возможности преподавателя в системе 6
1.2 Возможности студента в системе 7
1.3 Обработка действий пользователя 8
1.3.1 Поддержка работы студента 8
1.3.2 Поддержка работы преподавателя 9
1.4 Анализ существующих решений 10
1.4.1 Интегрированная среда разработки 10
1.4.2 Сервис для онлайн-обучения 11
2 Архитектура разработанной системы 13
2.1 Общая архитектура приложения 13
2.2 Средства разработки 14
2.3 Описание прецедентов 14
2.4 Модульная структура приложения 17
2.5 Список функций для взаимодействия слоя логики и слоя данных 18
2.6 Список функций для взаимодействия слоя логики и слоя клиента 18
2.7 Данные используемые системой 19
3 Реализация разработанной системы 20
3.1 Реализация взаимодействия слоя логики и слоя данных 20
3.2 Реализация взаимодействия слоя логики и слоя клиента 21
3.3 Разработка клиентской части 23
3.4 Структура каталогов и файлов системы 26
4 Функционирование системы 28
4.1 Вход пользователя в систему 28
4.2 Рабочее пространство студента 29
4.3 Рабочее пространство преподавателя 30
4.4 Регистрация пользователей 32
4.5 Создание задания 33
ЗАКЛЮЧЕНИЕ 34
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 35
ПРИЛОЖЕНИЕ
Мы живем в век стремительного развития информационных технологий, когда каждый студент в карманах и сумке имеет несколько устройств, обладающих вычислительной мощностью, которая даже не снилась создателям первых суперкомпьютеров. Но в какое русло мы направляем всю эту мощность?
Сидя на лекции, очень сложно сконцентрироваться и слушать несколько часов напролет речь преподавателя. Поэтому студенты засыпают или достают смартфоны, планшеты и тратят производительность своего устройства на развлечения, общение друг с другом или пролистывание новостной ленты в социальных сетях. Но если бы была возможность объединить прослушивание теоретического материала с интерактивным закреплением его на практике, с помощью неких инструментальных средств, используя подручные устройства, студенты почувствовали бы вовлеченность в процесс обучения и с большим интересом усваивали преподаваемый материал.
Рассмотрим принцип работы системы на простом примере проведения контрольной работы. Преподаватель пишет задание, не на доске, откуда плохо видно и постоянно требуются фломастеры или мел, а в системе. Задание отображается на экранах устройств у студентов. Обучающиеся пишут решение данного задания, тут же имея возможность проверить работоспособность своего решения и отправить его преподавателю. Преподаватель в свою очередь отслеживает успешность выполнения задания каждым студентом.
Использование такой системы на начальных этапах обучения программированию позволило бы уйти от написания программного кода на бумажных носителях и вести более продуктивный диалог между студентом и преподавателем во время лекций. Сделать проведение контрольных и тестов более гибкими и простыми, как для преподавателя, так и для студента.
Целью выпускной квалификационной работы является создание системы, которая бы дополнила проведение учебного процесса интерактивностью. Для преподавателя это возможность давать задания студентам и контролировать их успеваемость онлайн. А для студента это возможность выполнения заданий преподавателя, заключающееся в написании программного кода и его последующей компиляции и отправке преподавателю.
Для достижения поставленной цели в работе решались следующие задачи:
- анализ существующих решений;
- на основе анализа существующих решений выделить функционал, необходимый для реализации цели;
- поиск возможного решения с открытым кодом для последующей доработки;
- разработка оболочки пользователя, обеспечивающей выполнение требуемых функций;
- разработка серверной части;
- разработка методов взаимодействия оболочки пользователя с сервером;
- разработка демонстрационного примера.
В рамках выпускной квалификационной работы создана система, которая дополняет проведение учебного процесса функционалом, обеспечивающим интерактивное общение студента и преподавателя.
Для достижения поставленной цели в ходе выполнения работы были решены следующие задачи:
• проанализированы существующие решения;
• на основе анализа существующих решений выделен функционал, необходимый для реализации цели;
• разработана оболочка пользователя, обеспечивающая выполнение требуемых функций
• разработана серверная часть, обрабатывающая действия пользователей в системе;
• разработан метод взаимодействия оболочки пользователя с сервером;
• разработан демонстрационный пример работы системы.