This shows you the differences between two versions of the page.
staff:courses:theses_zmm_2017 [2017/09/13 09:42] mark |
staff:courses:theses_zmm_2017 [2022/12/10 09:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Направления для НИР (магистры) ===== | ||
- | |||
- | ==== [Блеес] Система автоматической проверки наиболее частых формальных ошибок в научных текстах ==== | ||
- | |||
- | Цель: разработать настраиваемый статический анализатор для формальных текстов - научно-технических статей, отчетов и дипломов. Анализ происходит по набору наиболее частых ошибок, которые при этом являются машинно-проверяемыми, например: | ||
- | - личные предложения, формы глаголов и местоимения; | ||
- | - отсутствие ссылок или битые ссылки на элементы списка литературы/рисунки/таблицы; | ||
- | - отсутствие упоминания ключевых слов в тексте статьи; | ||
- | - повторы слов в пределах двух предложений; | ||
- | - "телеграфность" - повторение начальных слов абзацев ("Было принято решение"); | ||
- | - стоп-слова: | ||
- | - жаргонизмы (использовать список): скачать, пост, либа, тул; | ||
- | - там, тут, здесь. | ||
- | |||
- | Задачи: | ||
- | - изучение как ближних (например spellcheck), так и дальних аналогов (lint'ы и статические анализаторы для языков программирования); | ||
- | - формулировка сценариев использования и создание макета UI; | ||
- | - разработка модели данных для правил; | ||
- | - парсинг docx/ppt/pdf; | ||
- | - полнотекстовый поиск; | ||
- | - хранение и эффективная интерпретация правил; | ||
- | - создание веб-интерфейса для инструмента; | ||
- | - аннотирование проверяемого документа (например добавление комментариев прямо в doc(x)); | ||
- | |||
- | Требования: | ||
- | * начальный опыт написания формальных текстов и примерное понимание, почему нужно выполнять большую часть правил, описанных в цели работы; | ||
- | * опыт обработки машино-читаемых документов (HTML, XML, JSON, CSV ....); | ||
- | * начальные знания Python; | ||
- | * начальные знания веб-технологий. | ||
- | |||
- | Результат (НИР): исследование существующих алгоритмов анализа структуры текстов, сценарии командной строки для автоматизации проверки. | ||
- | |||
- | Результат (ВКР): веб-сервис, который производит анализ структуры и содержимого загруженных документов. | ||
- | |||
- | |||
- | |||
- | |||
- | ==== Веб-интерфейс генерации мобильных приложений outdoor-квестов ==== | ||
- | |||
- | Цель: создание веб-приложения для генерации пересонализируемых мобильных приложений outdoor-квестов. Содержимое приложений генерировать не требуется (есть шаблон). | ||
- | |||
- | Задачи: | ||
- | * Анализ аналогичных сервисов. | ||
- | * Разработка веб-интерфейса, позволяющего пройти все этапы персонализации мобильного приложения, в том числе | ||
- | * настройку целевых платформ, | ||
- | * загрузку ключей для подписи apk (или их создание и хранение в сервисе) | ||
- | * сборку, | ||
- | * подключение пользовательских тем. | ||
- | * Виртуализация и автоматизация сборки мобильных приложений. | ||
- | |||
- | Требования: | ||
- | * Python + TurboGears. | ||
- | * Базовые знания разработки для Android. | ||
- | |||
- | Результат: веб-сервис с помощью которого, человек, имеющий нулевой или близкий к тому опыт, сможет сгенерировать персонализированное приложение. | ||
- | |||
- | ==== Инструмент разработки, моделирования и модерирования outdoor-квестов ==== | ||
- | |||
- | Цель: разработать веб-сервис создания сценариев для outdoor-квестов. | ||
- | |||
- | Задачи: | ||
- | * Исследовать примерные аналоги - приложения для составления маршрутов на карте, визуализаторы gps-треков и т.д. | ||
- | * Разработать веб-интерфейс, который позволит | ||
- | * осуществлять CRUD для квестов; | ||
- | * настраивать генератор квестов и создавать квесты с его помощью; | ||
- | * визуализировать квесты на карте, | ||
- | * проводить анализ квестов и их сравнеие: | ||
- | * примерная длительность прохождения, | ||
- | * протяженность, | ||
- | * потенциальная сложность; | ||
- | * моделировать прохождение квеста по следующим характеристикам (их может быть больше - ниже примеры): | ||
- | * оценивать потенциальный граф перемещений (насколько сильно человек может плутать в поисках нужных точек), | ||
- | * распределение времени прохождения квеста. | ||
- | * предоставлять интерфейс модерировния квестов; | ||
- | * предоставлять интерфейс для ручного создания/редактирования квестов; | ||
- | * выбирать источники данных для подбора точек. | ||
- | * Подключиться к интерфейсам генератора, передавать ему правила генерации и получать созданные квесты. | ||
- | |||
- | |||
- | Требования: | ||
- | * Python + TurboGears. | ||
- | * Bootstrap | ||
- | * Leaflet.js | ||
- | |||
- | Результат: веб-приложение, позволяющее не знакомому с технической частью пользователю быстро создавать свои квесты либо модерировать и править квесты, созданные генератором. | ||
- | |||
- | |||
- | ===== Темы ВКР бакалавров ===== | ||
- | |||
- | ==== [Андросов] Автоматическая система проверки задач для 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, | ||
- | |||
- | Результат: инструмент, позволяющий автоматически оценивать качество Н репозиториев с исходниками мобильных приложений путем их сборки/тестирования/установки; инструкции по развертыванию и настройке инструмента. | ||