Найти тему

Темы дипломных работ, или чему вы сможете научиться на матфаке? Часть 1

На моем канале есть советы для абитуриентов и рассказы об учебе. В новой серии статей я расскажу о том, какие #дипломы защищают наши студенты.

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

Вручение дипломов. Источник фото: vk.com/math_yargu
Вручение дипломов. Источник фото: vk.com/math_yargu

Сегодня я расскажу о ВКР выпускника 2019 г. направления "Прикладная математика и информатика" математического факультета.

Кстати, другие публикации про особенности обучения на этом направлении (как в бакалавриате, так и в магистратуре) легко найти по тэгу #пми

Тема работы: "Взаимодействие нереляционной базы данных со скриптовыми языками".

В этой работе решена задача реализации проекта, основанного на NoSQL базе данных и скриптовых языках. В результате работы над ВКР автором был создан портал опросов, способный отображать результаты и отслеживать статистику, реализовано сервер, клиент, построена архитектура базы данных, создано 2 микро-сервиса: 1. автоматическая рассылка писем с опросами, которая напрямую зависит от даты старта опроса и 2. автоматическая генерация «социальных опросов», которые позволяют компании собирать информацию о трудоспособности сотрудников, алгоритм выбирают случайных людей, не повторяющихся ранее, создаёт случайный опрос по шаблонным вопросам с пометой «Social»

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

В процессе работы над проектом использовались:

1. Язык программирования JavaScript. JavaScript – мультипарадигменный язык программирования с функциями первого класса. Наиболее широко JavaScript применяется как язык сценариев вебстраниц. Так как JavaScript является интерпретируемым языком, исходный код (скрипт) программ на этом языке подается для выполнения специальными инструментами – интерпретаторами. Однако современные интерпретаторы перед выполнением преобразуют программы, написанные на JavaScript, в машинный код, а так же могут оптимизировать выполнение программы. Это позволяет программам на JavaScript работать быстро и использоваться в разработке веб-серверов, приложений для персональных компьютеров и мобильных приложений.

2. Node.JS – программная платформа, позволяющая транслировать программы на JavaScript в машинный код. Используя интерпретатор V8, разработанный компанией Google для браузера Google Chrome, Node.JS выполняет программы, написанные на JavaScript, и позволяет этим программам взаимодействовать с устройствами ввода-вывода через собственный программный интерфейс, написанный на С++. Так же Node.JS позволяет подключать внешние библиотеки, написанные на различных языках программирования, и взаимодействовать с ними прямо из кода на JavaScript. Node.JS используется преимущественно в создании веб-серверов, но так же позволяет создавать оконные приложения и программировать микроконтроллеры.

3. MongoDB – документо-ориентированная нереляционная система управления базами данных. Структура базы данных представляет собой множество коллекций, представляющих собой множества документов. Документы представляют собой хранилища пар «ключ - значение». В отличие от реляционных баз данных, в MongoDB коллекции могут содержать документы, имеющие различную структуру и различный набор свойств. Благодаря документо-ориентированной модели данных, MongoDB обладает высокой производительностью и облегченной возможностью масштабирования.

4. Docker — открытая платформа для разработки, доставки и эксплуатации приложений. Docker разработан для более быстрого выкладывания ваших приложений. С помощью docker вы можете отделить ваше приложение от вашей инфраструктуры и обращаться с инфраструктурой как управляемым приложением.

Для хранения и отображения опросов была создана гибкая модель, которая была разбита на несколько составляющих, что в будущем позволит ускорить время разработки нового функционала. Для работы с данным и их передачей между клиентом (сайтом) и базой данных был реализован веб-сервер. В качестве веб-сервера был выбран Express JS – это фреймворк web-приложений для Node.JS, что позволило организовать полноценный функционал в работе с HTTP запросами.

Работа "Взаимодействие нереляционной базы данных со скриптовыми языками" носит, как несложно заметить, прикладной характер. К моменту защиты проект был готов и введен в действие - к защите студент представил акт о внедрении результатов ВКР в деятельность ИТ-компании. Защита прошла успешно, комиссия поставила оценку "отлично".

Так выглядит запись о ВКР в приложении к диплому
Так выглядит запись о ВКР в приложении к диплому

В настоящее время герой моего рассказа продолжает #обучение в магистратуре по направлению "Прикладная математика и информатика". Прочитать подробнее про магистратуру по другим направлениям подготовки можно здесь и здесь. Новые рассказы о темах ВКР появятся в ближайшее время - не пропустите. Надеюсь, вам будет интересно :)