This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
staff:courses:theses_zmm_2017 [2017/08/22 08:00] mark |
staff:courses:theses_zmm_2017 [2022/12/10 09:08] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Направления для НИР (магистры) ===== | ===== Направления для НИР (магистры) ===== | ||
- | ==== Веб-интерфейс генерации мобильных приложений outdoor-квестов ==== | + | ==== [Блеес] Система автоматической проверки наиболее частых формальных ошибок в научных текстах ==== |
- | Цель: создание веб-приложения для генерации пересонализируемых мобильных приложений outdoor-квестов. Содержимое приложений генерировать не требуется (есть шаблон). | + | Цель: разработать настраиваемый статический анализатор для формальных текстов - научно-технических статей, отчетов и дипломов. Анализ происходит по набору наиболее частых ошибок, которые при этом являются машинно-проверяемыми, например: |
+ | - личные предложения, формы глаголов и местоимения; | ||
+ | - отсутствие ссылок или битые ссылки на элементы списка литературы/рисунки/таблицы; | ||
+ | - отсутствие упоминания ключевых слов в тексте статьи; | ||
+ | - повторы слов в пределах двух предложений; | ||
+ | - "телеграфность" - повторение начальных слов абзацев ("Было принято решение"); | ||
+ | - стоп-слова: | ||
+ | - жаргонизмы (использовать список): скачать, пост, либа, тул; | ||
+ | - там, тут, здесь. | ||
Задачи: | Задачи: | ||
- | * Анализ аналогичных сервисов. | + | - изучение как ближних (например spellcheck), так и дальних аналогов (lint'ы и статические анализаторы для языков программирования); |
- | * Разработка веб-интерфейса, позволяющего пройти все этапы персонализации мобильного приложения, в том числе | + | - формулировка сценариев использования и создание макета UI; |
- | * настройку целевых платформ, | + | - разработка модели данных для правил; |
- | * загрузку ключей для подписи apk (или их создание и хранение в сервисе) | + | - парсинг docx/ppt/pdf; |
- | * сборку, | + | - полнотекстовый поиск; |
- | * подключение пользовательских тем. | + | - хранение и эффективная интерпретация правил; |
- | * Виртуализация и автоматизация сборки мобильных приложений. | + | - создание веб-интерфейса для инструмента; |
+ | - аннотирование проверяемого документа (например добавление комментариев прямо в doc(x)); | ||
Требования: | Требования: | ||
- | * Python + TurboGears. | + | * начальный опыт написания формальных текстов и примерное понимание, почему нужно выполнять большую часть правил, описанных в цели работы; |
- | * Базовые знания разработки для Android. | + | * опыт обработки машино-читаемых документов (HTML, XML, JSON, CSV ....); |
+ | * начальные знания Python; | ||
+ | * начальные знания веб-технологий. | ||
- | Результат: веб-сервис с помощью которого, человек, имеющий нулевой или близкий к тому опыт, сможет сгенерировать персонализированное приложение. | + | Результат (НИР): исследование существующих алгоритмов анализа структуры текстов, сценарии командной строки для автоматизации проверки. |
- | ==== Инструмент разработки и модерирования outdoor-квестов ==== | ||
- | Цель: разработать веб-сервис создания сценариев для outdoor-квестов. | + | ==== [Чирухин] Автоматизация создания плагинов Vagrant ==== |
+ | |||
+ | Цель: автоматизировать создание и публикацию плагинов Vagrant. | ||
Задачи: | Задачи: | ||
- | * Исследовать примерные аналоги - приложения для составления маршрутов на карте, визуализаторы gps-треков и т.д. | + | * изучение процедуры разработки и публикации плагинов на примере типовых задач: |
- | * Разработать веб-интерфейс, который позволит | + | * создание своей команды vagrant, |
- | * осуществлять CRUD для квестов; | + | * вызов команд shell, |
- | * настраивать генератор квестов и создавать квесты с его помощью; | + | * получение доступа к структурам данных vagrant; |
- | * визуализировать квесты на карте, проводить грубый анализ (примерная длительность прохождения, протяженность, потенциальная сложность ...); | + | * автоматизация создания плагинов с помощью сценариев командной строки, шаблонов; |
- | * предоставлять интерфейс модерировния квестов; | + | * создание плагинов-примеров; |
- | * предоставлять интерфейс для ручного создания/редактирования квестов; | + | * создание руководства по разработке и публикации; |
- | * выбирать источники данных для подбора точек. | + | * публикация руководства на stepik.org в формате мини-курса. |
- | * Подключиться к интерфейсам генератора, передавать ему правила генерации и получать созданные квесты. | + | |
+ | Требования: | ||
+ | * Ruby. | ||
+ | * Опыт использования Vagrant. | ||
+ | |||
+ | Результат (НИР): | ||
+ | * инструменты автоматизации разработки плагина; | ||
+ | * плагины-примеры; | ||
+ | * руководство по процессу. | ||
- | Требования: | ||
- | * Python + TurboGears. | ||
- | * Bootstrap | ||
- | * Leaflet.js | ||
- | Результат: веб-приложение, позволяющее не знакомому с технической частью пользователю быстро создавать свои квесты либо модерировать и править квесты, созданные генератором. | ||
===== Темы ВКР бакалавров ===== | ===== Темы ВКР бакалавров ===== | ||
- | ==== Автоматическая система проверки задач для MOOC "Мобильная разработка для Android на Kotlin" ==== | + | ==== [Андросов] Автоматическая система проверки задач для MOOC "Мобильная разработка для Android на Kotlin" ==== |
Цель: создание набора автоматически проверяемых лабораторных по мобильной разработке на Kotlin, интегрированных в stepik.org. | Цель: создание набора автоматически проверяемых лабораторных по мобильной разработке на Kotlin, интегрированных в stepik.org. | ||
Line 63: | Line 77: | ||
Требования: | Требования: | ||
* опыт Android разработки и интерес к данной предметной области; | * опыт Android разработки и интерес к данной предметной области; | ||
- | * представление о работе виртуальных машин; | + | * начальное представление о работе виртуальных машин; |
* начальные знания Bash. | * начальные знания Bash. | ||
Результат: набор автоматически проверемых задач c описаниями, подключенных к курсу на Stepik.org. | Результат: набор автоматически проверемых задач c описаниями, подключенных к курсу на Stepik.org. | ||
+ | ==== [Хафизов] Автоматизация проверки работ в очных курсах по мобильной разработке ==== | ||
- | ==== Система автоматической проверки наиболее частых формальных ошибок в научных статьях/отчетах ==== | + | Идея: на кафедре проходит много мероприятий, на которых проиходит одновременная разработка Н мобильных приложений. Для таких мероприятий необходим инструмент, позволяющий проверить в динамике: |
+ | - какие из приложений собираются, | ||
+ | - какие из приложений соответствуют требованиям, | ||
+ | - объем apk файлов, | ||
+ | - успешность установки на устройство, | ||
+ | - .... | ||
- | Цель: | + | Цель: разработать инструмент автоматизации сборки и тестирования мобильных приложений для набора репозиториев. |
- | Вводная часть: | + | Задачи: |
- | Разработать веб-сервис, который проводит анализ текста научной статьи/студенческого отчета с помощью систем полнотекстового поиска для проверки критериев. Критерии включают самые типичные (но при этом машинно-проверяемые) ошибки при подготовке данных документов, например: | + | - запуск сборки и тестирования в jenkins |
- | - личные предложения и личные формы глаголов | + | - генерация итоговых отчетов c результатами сборки и/или тестирования по набору репозиториев |
- | - отсутствие ссылок или битые ссылки на элементы списка литературы/рисунки/таблицы | + | - создание apk и их публикация |
- | - отсутствие упоминания ключевых слов в тексте статьи | + | |
- | - повторы слов в пределах двух предложений | + | Требования: |
- | - "телеграфность" | + | - начальные знания Andoid-разработки, |
- | - повторение начальных слов абзацев ("Было принято решение") | + | - начальные знания Bash, |
- | - стоп-слова: | + | - минимальный опыт в Jenkins, |
- | - жаргонизмы (использовать список): скачать, пост, либа, тул | + | |
- | - личные местоимения | + | Результат: инструмент, позволяющий автоматически оценивать качество Н репозиториев с исходниками мобильных приложений путем их сборки/тестирования/установки; инструкции по развертыванию и настройке инструмента. |
- | - там, тут, здесь | + | |
+ | ==== [Козловских] Инструмент разработки, моделирования и модерирования outdoor-квестов ==== | ||
+ | |||
+ | Цель: разработать веб-сервис создания сценариев для outdoor-квестов. | ||
Задачи: | Задачи: | ||
- | - парсинг docx/ppt/pdf | + | * Исследовать примерные аналоги - приложения для составления маршрутов на карте, визуализаторы gps-треков и т.д. |
- | - полнотекстовый поиск | + | * Разработать веб-интерфейс, который позволит |
- | - проверка выполнения больших наборов стандартизированных правил для текста на естественном языке | + | * осуществлять CRUD для квестов; |
+ | * настраивать генератор квестов и создавать квесты с его помощью; | ||
+ | * визуализировать квесты на карте, | ||
+ | * проводить анализ квестов и их сравнеие: | ||
+ | * примерная длительность прохождения, | ||
+ | * протяженность, | ||
+ | * потенциальная сложность; | ||
+ | * моделировать прохождение квеста по следующим характеристикам (их может быть больше - ниже примеры): | ||
+ | * оценивать потенциальный граф перемещений (насколько сильно человек может плутать в поисках нужных точек), | ||
+ | * распределение времени прохождения квеста. | ||
+ | * предоставлять интерфейс модерировния квестов; | ||
+ | * предоставлять интерфейс для ручного создания/редактирования квестов; | ||
+ | * выбирать источники данных для подбора точек. | ||
+ | * Подключиться к интерфейсам генератора, передавать ему правила генерации и получать созданные квесты. | ||
+ | |||
+ | |||
+ | Требования: | ||
+ | * Python + TurboGears. | ||
+ | * Bootstrap | ||
+ | * Leaflet.js | ||
+ | |||
+ | Результат: веб-приложение, позволяющее не знакомому с технической частью пользователю быстро создавать свои квесты либо модерировать и править квесты, созданные генератором. | ||