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