Разработка учебной онлайн-платформы с визуализацией известных алгоритмов
|
ВВЕДЕНИЕ 11
ОБЗОР ЛИТЕРАТУРЫ 14
1. ЗАДАЧА ОНЛАЙН-ПЛАТФОРМЫ 15
1.1. Обзор аналогов 15
2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ 17
2.1. Варианты использования 17
2.2. Диаграммы последовательности для системы 18
2.3. Архитектура системы 19
2.4. Выбор технологий для реализации 20
3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОНЛАЙН-ПЛАТФОРМЫ 26
3.1. Разработка базы данных информационной системы 26
3.2. Разработка серверной части приложения 28
3.3. Тестирование серверной части приложения 31
3.4. Разработка клиентской части приложения 33
ЗАДАНИЕ ДЛЯ РАЗДЕЛА «ФИНАНСОВЫЙ МЕНЕДЖМЕНТ, РЕСУРСОЭФФЕКТИВНОСТЬ И РЕСУРСОСБЕРЕЖЕНИЕ» 45
4. ФИНАНСОВЫЙ МЕНЕДЖМЕНТ, РЕСУРСОЭФФЕКТИВНОСТЬ И
РЕСУРСОСБЕРЕЖЕНИЕ 46
4.1. Оценка коммерческого потенциала и перспективности проведения
научных исследований с позиции ресурсоэффективности и ресурсосбережений 46
4.1.1. Потенциальные потребители результатов исследования 46
4.1.2. Анализ конкурентных технических решений 47
4.1.3. Технология QuaD 48
4.1.4. SWOT-анализ 49
4.2. Инициация проекта 51
4.2.1. Цели и результаты проекта 51
4.3. Планирование научно-исследовательских работ 53
4.3.1. Структура работ в рамках научного исследования 53
4.3.2. Определение трудоемкости выполнения работ 54
4.3.3. Определение трудоемкости выполнения работ 55
4.3.4. Бюджет научно-технического исследования (НТИ) 58
4.3.4.1. Расчет материальных затрат НТИ 58
4.3.4.2. Расчет затрат на специальное оборудование для научных
(экспериментальных) затрат 59
4.3.4.3. Основная заработная плата исполнителей темы 60
4.3.4.4. Дополнительная заработная плата исполнителей темы 62
4.3.4.5. Отчисления во внебюджетные фонды (страховые отчисления) 63
4.3.4.6. Накладные расходы 63
4.3.4.7. Формирование бюджета затрат научно-технического проекта 64
4.4. Определение ресурсной (ресурсосберегающей), финансовой, бюджетной, социальной и экономической эффективности исследования . 65
ЗАДАНИЕ ДЛЯ РАЗДЕЛА «СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ» 68
5. СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ 70
5.1. Введение 70
5.2. Правовые и организационные вопросы обеспечения безопасности . 71
5.2.1. Правовые нормы 71
5.2.2. Эргономические требования к правильному расположению и
компоновке рабочей зоны 72
5.3. Производственная безопасность 73
5.3.1. Отсутствие или недостаток необходимой освещенности 74
5.3.2. Умственное перенапряжение, в том числе вызванное
информационной нагрузкой 75
5.3.3. Превышение уровня шума и другие его неблагоприятные
характеристики 76
5.3.4. Отклонение показателей микроклимата 77
5.3.5. Производственные факторы, связанные с электрическим током 78
5.4. Экологическая безопасность 79
5.5. Безопасность в чрезвычайных ситуациях 80
5.6. Вывод 82
ЗАКЛЮЧЕНИЕ 84
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 85
ПРИЛОЖЕНИЕ А 88
ОБЗОР ЛИТЕРАТУРЫ 14
1. ЗАДАЧА ОНЛАЙН-ПЛАТФОРМЫ 15
1.1. Обзор аналогов 15
2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ 17
2.1. Варианты использования 17
2.2. Диаграммы последовательности для системы 18
2.3. Архитектура системы 19
2.4. Выбор технологий для реализации 20
3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОНЛАЙН-ПЛАТФОРМЫ 26
3.1. Разработка базы данных информационной системы 26
3.2. Разработка серверной части приложения 28
3.3. Тестирование серверной части приложения 31
3.4. Разработка клиентской части приложения 33
ЗАДАНИЕ ДЛЯ РАЗДЕЛА «ФИНАНСОВЫЙ МЕНЕДЖМЕНТ, РЕСУРСОЭФФЕКТИВНОСТЬ И РЕСУРСОСБЕРЕЖЕНИЕ» 45
4. ФИНАНСОВЫЙ МЕНЕДЖМЕНТ, РЕСУРСОЭФФЕКТИВНОСТЬ И
РЕСУРСОСБЕРЕЖЕНИЕ 46
4.1. Оценка коммерческого потенциала и перспективности проведения
научных исследований с позиции ресурсоэффективности и ресурсосбережений 46
4.1.1. Потенциальные потребители результатов исследования 46
4.1.2. Анализ конкурентных технических решений 47
4.1.3. Технология QuaD 48
4.1.4. SWOT-анализ 49
4.2. Инициация проекта 51
4.2.1. Цели и результаты проекта 51
4.3. Планирование научно-исследовательских работ 53
4.3.1. Структура работ в рамках научного исследования 53
4.3.2. Определение трудоемкости выполнения работ 54
4.3.3. Определение трудоемкости выполнения работ 55
4.3.4. Бюджет научно-технического исследования (НТИ) 58
4.3.4.1. Расчет материальных затрат НТИ 58
4.3.4.2. Расчет затрат на специальное оборудование для научных
(экспериментальных) затрат 59
4.3.4.3. Основная заработная плата исполнителей темы 60
4.3.4.4. Дополнительная заработная плата исполнителей темы 62
4.3.4.5. Отчисления во внебюджетные фонды (страховые отчисления) 63
4.3.4.6. Накладные расходы 63
4.3.4.7. Формирование бюджета затрат научно-технического проекта 64
4.4. Определение ресурсной (ресурсосберегающей), финансовой, бюджетной, социальной и экономической эффективности исследования . 65
ЗАДАНИЕ ДЛЯ РАЗДЕЛА «СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ» 68
5. СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ 70
5.1. Введение 70
5.2. Правовые и организационные вопросы обеспечения безопасности . 71
5.2.1. Правовые нормы 71
5.2.2. Эргономические требования к правильному расположению и
компоновке рабочей зоны 72
5.3. Производственная безопасность 73
5.3.1. Отсутствие или недостаток необходимой освещенности 74
5.3.2. Умственное перенапряжение, в том числе вызванное
информационной нагрузкой 75
5.3.3. Превышение уровня шума и другие его неблагоприятные
характеристики 76
5.3.4. Отклонение показателей микроклимата 77
5.3.5. Производственные факторы, связанные с электрическим током 78
5.4. Экологическая безопасность 79
5.5. Безопасность в чрезвычайных ситуациях 80
5.6. Вывод 82
ЗАКЛЮЧЕНИЕ 84
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 85
ПРИЛОЖЕНИЕ А 88
Алгоритмы являются основой языков программирования. Это набор инструкций, которые сообщают компьютеру, как выполнять определенную задачу. В сегодняшнюю цифровую эпоху алгоритмы используются повсеместно, от простых расчетов до сложного анализа данных. Таким образом, изучение алгоритмов имеет решающее значение для любого программиста, который хочет создавать эффективные и действенные приложения.
Одна из основных причин важности изучения алгоритмов заключается в том, что помогает разработчикам понять, как решать проблемы. Будь то небольшая задача или сложная, понимание алгоритма помогает программисту разбить ее на более мелкие, более управляемые части. Это упрощает программирование и отладку.
Кроме того, изучение алгоритмов позволяет программистам оптимизировать свой код для повышения производительности. Производительность является критическим фактором в современном быстро меняющемся цифровом мире. Чем быстрее работает приложение, тем выше вероятность его успешного выполнения. Изучая алгоритмы, программисты могут выявить узкие места в коде и соответствующим образом оптимизировать его. Также помогает развить мышление, тем самым облегчает решение новых проблем, с которыми в дальнейшем придется сталкиваться. Помогает создавать более общие решения, которые можно применять к нескольким проблемам.
Изучение алгоритмов жизненно важно для любого разработчика, который хочет создавать эффективные и действенные приложения. Это помогает им решать проблемы, оптимизировать свой код для повышения производительности и выявлять закономерности и сходства между различными проблемами. Осваивая алгоритмы, программисты могут вывести свои навыки на новый уровень и создавать инновационные, удобные и эффективные приложения.
Поэтому в качестве темы данного проекта была выбрана: «Разработка учебной онлайн-платформы с визуализацией известных алгоритмов». Она позволит студентам в условиях дистанционного обучения изучить самостоятельно указанный материал с возможностью самостоятельно написать код и сформировать отчет.
Цель проекта: работа посвящена разработке онлайн-платформы для дистанционного изучения дисциплины "Алгоритмы и анализ сложности". Система позволяет студентам изучать работу известных алгоритмов сортировки, поиска элементов, обхода дерева, вычисления контрольной суммы на основе визуализированных примеров. Также система позволяет выполнять простые упражнения в онлайн-среде с формированием отчета о проделанной работе.
Для достижения поставленной цели необходимо выполнять следующие задачи:
• разработка механизма визуализации алгоритмов;
• интеграция компилятора для работы студентов по освоению алгоритмов;
• разработка функции выгрузки отчетов по проделанной работе.
Объект исследования - онлайн-платформа для образования.
Методами исследования являются:
• анализ, анализ особенностей предметной области;
• метод прототипирования, разработка дизайна интерфейса веб¬сервиса;
• метод классификации, выявление ролей пользователя и сущностей базы данных.
Одна из основных причин важности изучения алгоритмов заключается в том, что помогает разработчикам понять, как решать проблемы. Будь то небольшая задача или сложная, понимание алгоритма помогает программисту разбить ее на более мелкие, более управляемые части. Это упрощает программирование и отладку.
Кроме того, изучение алгоритмов позволяет программистам оптимизировать свой код для повышения производительности. Производительность является критическим фактором в современном быстро меняющемся цифровом мире. Чем быстрее работает приложение, тем выше вероятность его успешного выполнения. Изучая алгоритмы, программисты могут выявить узкие места в коде и соответствующим образом оптимизировать его. Также помогает развить мышление, тем самым облегчает решение новых проблем, с которыми в дальнейшем придется сталкиваться. Помогает создавать более общие решения, которые можно применять к нескольким проблемам.
Изучение алгоритмов жизненно важно для любого разработчика, который хочет создавать эффективные и действенные приложения. Это помогает им решать проблемы, оптимизировать свой код для повышения производительности и выявлять закономерности и сходства между различными проблемами. Осваивая алгоритмы, программисты могут вывести свои навыки на новый уровень и создавать инновационные, удобные и эффективные приложения.
Поэтому в качестве темы данного проекта была выбрана: «Разработка учебной онлайн-платформы с визуализацией известных алгоритмов». Она позволит студентам в условиях дистанционного обучения изучить самостоятельно указанный материал с возможностью самостоятельно написать код и сформировать отчет.
Цель проекта: работа посвящена разработке онлайн-платформы для дистанционного изучения дисциплины "Алгоритмы и анализ сложности". Система позволяет студентам изучать работу известных алгоритмов сортировки, поиска элементов, обхода дерева, вычисления контрольной суммы на основе визуализированных примеров. Также система позволяет выполнять простые упражнения в онлайн-среде с формированием отчета о проделанной работе.
Для достижения поставленной цели необходимо выполнять следующие задачи:
• разработка механизма визуализации алгоритмов;
• интеграция компилятора для работы студентов по освоению алгоритмов;
• разработка функции выгрузки отчетов по проделанной работе.
Объект исследования - онлайн-платформа для образования.
Методами исследования являются:
• анализ, анализ особенностей предметной области;
• метод прототипирования, разработка дизайна интерфейса веб¬сервиса;
• метод классификации, выявление ролей пользователя и сущностей базы данных.
В результате выполнения работы была разработана онлайн-платформа с возможностью ее дальнейшего совершенствования и дополнения. Реализованы все дополнительные компоненты, которые возможно использовать в различных целях.
Выполнена задача визуализации алгоритмов, с разбиением на компоненты для добавления новых алгоритмов. Таким образом, визуальное представление работы алгоритма работает корректно. Также разработан компилятор с необходимыми компонентами и представлена его работа, окна входа и регистрации с работой токенов. Создана генерация отчетов Word для их последующей правки и сдачи преподавателю.
Система разработана в виде клиент-серверного веб-приложения, где и клиент, и сервер были реализованы благодаря JavaScript, что позволило работать на одном языке. Была возможность задействовать различные библиотеки и модули, которые ускоряют работу и решение поставленных задач. Правильно подобранный стек технологий упростил работу, например, начальная настройка сервера не заняла много времени, чему поспособствовал фреймворк Express.
При возникновении трудностей ответ было несложно найти, разбираясь в устройстве веб-приложения по документации, обширному сообществу разработчиков и форумов с различными видами вопросов и ответов.
В дальнейшем для собственных целей развития планируется, переработать работу личного кабинета, наполнить онлайн-платформу большим количеством алгоритмов, добавить возможности для генерации отчета, например, добавление изображений.
Выполнена задача визуализации алгоритмов, с разбиением на компоненты для добавления новых алгоритмов. Таким образом, визуальное представление работы алгоритма работает корректно. Также разработан компилятор с необходимыми компонентами и представлена его работа, окна входа и регистрации с работой токенов. Создана генерация отчетов Word для их последующей правки и сдачи преподавателю.
Система разработана в виде клиент-серверного веб-приложения, где и клиент, и сервер были реализованы благодаря JavaScript, что позволило работать на одном языке. Была возможность задействовать различные библиотеки и модули, которые ускоряют работу и решение поставленных задач. Правильно подобранный стек технологий упростил работу, например, начальная настройка сервера не заняла много времени, чему поспособствовал фреймворк Express.
При возникновении трудностей ответ было несложно найти, разбираясь в устройстве веб-приложения по документации, обширному сообществу разработчиков и форумов с различными видами вопросов и ответов.
В дальнейшем для собственных целей развития планируется, переработать работу личного кабинета, наполнить онлайн-платформу большим количеством алгоритмов, добавить возможности для генерации отчета, например, добавление изображений.



