Проблема построения эффективной автоматизированной системы обучения является дискуссионной среди множества специалистов в среде программирования и образования. Это объясняется тем, что в современном мире существует тенденция к цифровизации. Автоматизированная система является одним из самых удобных и эффективных способов взаимодействия с пользователем. А задача обучения всегда встает перед любым начинающим специалистом.
Сфера программирования становится одной из самых востребованных, поэтому все чаще и чаще люди прибегают к изучению основ этой сферы деятельности. Люди могут начинать с изучения типов языков программирования, видов платформ или другого. Но так или иначе начинающие специалисты приходят к изучению функциональности языков программирования. Данная тема является основной для изучения, в то же время, при правильном подходе, достаточно простой для усвоения. Это и делает ее одной из самых востребованных. Все вышесказанное также обуславливается тенденцией к цифровизации.
Таким образом, можно сделать вывод о высокой актуальности выбранной мной темы.
В подтверждение данного вывода можно привести то обстоятельство, что многие компании разрабатывают подобные автоматизированные системы. Однако, при реализации своих идей, они сталкиваются с рядом проблем и допускают ошибки, что в последствие приводит к неэффективной работе информационной системы. В своем исследовании я старался разработать такое приложение, которое отвечало бы всем современным требованиям, и, одновременно с этим, не содержало ошибок, мешающим функционированию системы.
Объектом исследования является создание механизма эффективного обучения.
Предметом выступает автоматизированная система, разработанная на современных языках программирования.
Цель выпускной квалификационной работы – это разработка автоматизированной системы для обучения функциональным языкам программирования.
Очевидно, для достижения поставленной выше цели необходимо определить основные задачи исследования. Из этого следует, что в моей работе поставлены следующие задачи:
1. Анализ предметной области;
2. Определение технического задания;
3. Проектирование информационного хранилища системы;
4. Реализация интерфейса приложения;
5. Реализация программного модуля информационной системы;
6. Тестирование разработанной системы.
Теоретической основой являются интернет источники и документации определенных языков программирования и других технологий, а также научная литература.
Теоретическую значимость данной выпускной квалификационной работы составляют выводы, сформулированные после выполнения каждой поставленной задачи.
Аннотация 3
Введение 5
1. Анализ предметной области и постановка задачи 8
2. Техническое задание на создание приложения 12
3. Структура и основные алгоритмы приложения 16
4. Реализация приложения 18
5. Тестирование и отладка 32
6. Демонстрация работы проекта 34
Заключение 39
Список использованных источников 41
Приложение
1. Банкрашков, А.В. Программирование для детей на языке Python / А.В. Банкрашков. - М.: АСТ, 2018. - 288 c.
2. Бриггс, Джейсон Python для детей. Самоучитель по программированию / Джейсон Бриггс. - Москва: Огни, 2013. - 177 c.
3. Бэрри, Пол Изучаем программирование на Python / Пол Бэрри. - М.: Эксмо, 2016. - 332 c.
4. Васильев, А. Н. Python на примерах. Практический курс по программированию / А.Н. Васильев. - М.: Наука и техника, 2016. - 432 c.
5. Вордерман, К. Программирование на Python. Иллюстрированное руководство для детей / К. Вордерман, К. Стили, К. Квигли. - М.: Манн, Иванов и Фербер, 2017. - 346 c.
6. Гуриков, С.Р. Основы алгоритмизации и программирования на Python / С.Р. Гуриков. - М.: Форум, 2018. - 991 c.
7. Гуриков, С.Р. Основы алгоритмизации и программирования на Python. Учебное пособие. Гриф МО РФ / С.Р. Гуриков. - М.: Инфра- М, Форум, 2018. - 707 c.
8. Гэддис Т. Начинаем программировать на Python. – 4-е изд.: Пер. с англ. – СПб.: БХВ-Петербург, 2019. – 768 с.
9. Златопольский, Д. М. Основы программирования на языке Python. Учебное пособие. / Д.М. Златопольский. - М.: ДМК Пресс, 2017. - 277 c.
10. Кириллов, В.В. Введение в реляционные базы данных (+ CD-ROM) / В.В. Кириллов. - М.: БХВ-Петербург, 2016. - 318 c.
11. Лутц, М. Программирование на Python. Т. 2 / М. Лутц. - М.: Символ, 2016. - 992 c.
12. Лутц, М. Программирование на Python. Т. 1 / М. Лутц. - М.: Символ, 2016. - 992 c.
13. МакГрат, Майк Python. Программирование для начинающих / Майк МакГрат. - М.: Эксмо, 2013. - 727 c.
14. Мэтиз, Э. Изучаем PYTHON.Программирование игр, визуализация данных, веб-приложения / Э. Мэтиз. - СПб.: Питер, 2017. - 496 c.
15. Мэтиз, Э. Изучаем Python. Программирование игр, визуализация данных, веб-приложения / Э. Мэтиз. - СПб.: Питер, 2017. - 320 c.
16. Саммерфилд, М. Программирование на Python 3. Подробное руководство / М. Саммерфилд. - М.: Символ, 2016. - 608 c.
17. Эрик, Мэтиз Изучаем Python. Программирование игр, визуализация данных, веб-приложения / Мэтиз Эрик. - М.: Питер, 2017. - 551 c.
18. Эрик, Мэтиз Изучаем Python. Программирование игр, визуализация данных, веб-приложения / Мэтиз Эрик. - М.: Питер, 2018. - 760 c.
19. PyQt - Википедия. — [Электронный ресурс]. — URL: https://ru.wikipedia.org/wiki/PyQt (дата обращения: 20.05.2020).
20. PyQt5: первые программы | Python для начинающих — [Электронный ресурс]. — URL: https://pythonworld.ru/gui/pyqt5- firstprograms.html (дата обращения: 21.05.2020).