Направления для НИР (магистры)
[Блеес] Система автоматической проверки наиболее частых формальных ошибок в научных текстах
Цель: разработать настраиваемый статический анализатор для формальных текстов - научно-технических статей, отчетов и дипломов. Анализ происходит по набору наиболее частых ошибок, которые при этом являются машинно-проверяемыми, например:
личные предложения, формы глаголов и местоимения;
отсутствие ссылок или битые ссылки на элементы списка литературы/рисунки/таблицы;
отсутствие упоминания ключевых слов в тексте статьи;
повторы слов в пределах двух предложений;
«телеграфность» - повторение начальных слов абзацев («Было принято решение»);
стоп-слова:
жаргонизмы (использовать список): скачать, пост, либа, тул;
там, тут, здесь.
Задачи:
изучение как ближних (например spellcheck), так и дальних аналогов (lint'ы и статические анализаторы для языков программирования);
формулировка сценариев использования и создание макета UI;
разработка модели данных для правил;
парсинг docx/ppt/pdf;
полнотекстовый поиск;
хранение и эффективная интерпретация правил;
создание веб-интерфейса для инструмента;
аннотирование проверяемого документа (например добавление комментариев прямо в doc(x));
Требования:
начальный опыт написания формальных текстов и примерное понимание, почему нужно выполнять большую часть правил, описанных в цели работы;
опыт обработки машино-читаемых документов (
HTML, XML, JSON, CSV ….);
начальные знания Python;
начальные знания веб-технологий.
Результат (НИР): исследование существующих алгоритмов анализа структуры текстов, сценарии командной строки для автоматизации проверки.
[Чирухин] Автоматизация создания плагинов Vagrant
Цель: автоматизировать создание и публикацию плагинов Vagrant.
Задачи:
изучение процедуры разработки и публикации плагинов на примере типовых задач:
автоматизация создания плагинов с помощью сценариев командной строки, шаблонов;
создание плагинов-примеров;
создание руководства по разработке и публикации;
публикация руководства на stepik.org в формате мини-курса.
Требования:
Результат (НИР):
Темы ВКР бакалавров
[Андросов] Автоматическая система проверки задач для MOOC "Мобильная разработка для Android на Kotlin"
Цель: создание набора автоматически проверяемых лабораторных по мобильной разработке на Kotlin, интегрированных в stepik.org.
Задачи:
обзор онлайн-курсов для изучения Java+Android, Kotlin, Kotlin+Android и сравнение предлагаемых задач;
изучение интерфейса командной строки для сборки, запуска и тестирования мобильных приложений в эмуляторе Android, автоматизация типичных сценариев использования;
подготовка образа виртуальной машины для задач курса, содержащего необходимые инструменты и среду;
разработка неинтерактивных задач:
описание условий задач,
создание эталонных решений (правильных и содержащих различные ошибки),
создание скриптов проверки задач (на Bash и Espresso)
интеграция наработок на Stepik.org;
исследование производительности полученного решения.
Требования:
Результат: набор автоматически проверемых задач c описаниями, подключенных к курсу на Stepik.org.
[Хафизов] Автоматизация проверки работ в очных курсах по мобильной разработке
Идея: на кафедре проходит много мероприятий, на которых проиходит одновременная разработка Н мобильных приложений. Для таких мероприятий необходим инструмент, позволяющий проверить в динамике:
какие из приложений собираются,
какие из приложений соответствуют требованиям,
объем apk файлов,
успешность установки на устройство,
….
Цель: разработать инструмент автоматизации сборки и тестирования мобильных приложений для набора репозиториев.
Задачи:
запуск сборки и тестирования в jenkins
генерация итоговых отчетов c результатами сборки и/или тестирования по набору репозиториев
создание apk и их публикация
Требования:
начальные знания Andoid-разработки,
начальные знания Bash,
минимальный опыт в Jenkins,
Результат: инструмент, позволяющий автоматически оценивать качество Н репозиториев с исходниками мобильных приложений путем их сборки/тестирования/установки; инструкции по развертыванию и настройке инструмента.
[Козловских] Инструмент разработки, моделирования и модерирования outdoor-квестов
Цель: разработать веб-сервис создания сценариев для outdoor-квестов.
Задачи:
Исследовать примерные аналоги - приложения для составления маршрутов на карте, визуализаторы gps-треков и т.д.
Разработать веб-интерфейс, который позволит
осуществлять CRUD для квестов;
настраивать генератор квестов и создавать квесты с его помощью;
визуализировать квесты на карте,
проводить анализ квестов и их сравнеие:
моделировать прохождение квеста по следующим характеристикам (их может быть больше - ниже примеры):
оценивать потенциальный граф перемещений (насколько сильно человек может плутать в поисках нужных точек),
распределение времени прохождения квеста.
предоставлять интерфейс модерировния квестов;
Подключиться к интерфейсам генератора, передавать ему правила генерации и получать созданные квесты.
Требования:
Python + TurboGears.
Bootstrap
Leaflet.js
Результат: веб-приложение, позволяющее не знакомому с технической частью пользователю быстро создавать свои квесты либо модерировать и править квесты, созданные генератором.