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/09/06 09:57] tatyana.berlenko [Автоматизация проверки работ в очных курсах по мобильной разработке] |
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 75: | Line 82: | ||
Результат: набор автоматически проверемых задач c описаниями, подключенных к курсу на Stepik.org. | Результат: набор автоматически проверемых задач c описаниями, подключенных к курсу на Stepik.org. | ||
- | ==== Автоматизация проверки работ в очных курсах по мобильной разработке ==== | + | ==== [Хафизов] Автоматизация проверки работ в очных курсах по мобильной разработке ==== |
Идея: на кафедре проходит много мероприятий, на которых проиходит одновременная разработка Н мобильных приложений. Для таких мероприятий необходим инструмент, позволяющий проверить в динамике: | Идея: на кафедре проходит много мероприятий, на которых проиходит одновременная разработка Н мобильных приложений. Для таких мероприятий необходим инструмент, позволяющий проверить в динамике: | ||
Line 96: | Line 103: | ||
- минимальный опыт в Jenkins, | - минимальный опыт в Jenkins, | ||
- | **deliverables**: инструмент, позволяющий автоматически оценивать качество Н репозиториев с исходниками мобильных приложений путем их сборки/тестирования/установки; инструкции по развертыванию и настройке инструмента. | + | Результат: инструмент, позволяющий автоматически оценивать качество Н репозиториев с исходниками мобильных приложений путем их сборки/тестирования/установки; инструкции по развертыванию и настройке инструмента. |
+ | ==== [Козловских] Инструмент разработки, моделирования и модерирования outdoor-квестов ==== | ||
- | + | Цель: разработать веб-сервис создания сценариев для outdoor-квестов. | |
- | ==== Система автоматической проверки наиболее частых формальных ошибок в научных статьях/отчетах ==== | + | |
- | + | ||
- | Цель: разработать настраиваемый статический анализатор для формальных текстов - научно-технических статей, отчетов и дипломов. Анализ происходит по набору наиболее частых ошибок, которые при этом являются машинно-проверяемыми, например: | + | |
- | - личные предложения, формы глаголов и местоимения; | + | |
- | - отсутствие ссылок или битые ссылки на элементы списка литературы/рисунки/таблицы; | + | |
- | - отсутствие упоминания ключевых слов в тексте статьи; | + | |
- | - повторы слов в пределах двух предложений; | + | |
- | - "телеграфность" - повторение начальных слов абзацев ("Было принято решение"); | + | |
- | - стоп-слова: | + | |
- | - жаргонизмы (использовать список): скачать, пост, либа, тул; | + | |
- | - там, тут, здесь. | + | |
Задачи: | Задачи: | ||
- | - изучение как ближних (например spellcheck), так и дальних аналогов (lint'ы и статические анализаторы для языков программирования); | + | * Исследовать примерные аналоги - приложения для составления маршрутов на карте, визуализаторы gps-треков и т.д. |
- | - формулировка сценариев использования и создание макета UI; | + | * Разработать веб-интерфейс, который позволит |
- | - разработка модели данных для правил; | + | * осуществлять CRUD для квестов; |
- | - парсинг docx/ppt/pdf; | + | * настраивать генератор квестов и создавать квесты с его помощью; |
- | - полнотекстовый поиск; | + | * визуализировать квесты на карте, |
- | - хранение и эффективная интерпретация правил; | + | * проводить анализ квестов и их сравнеие: |
- | - создание веб-интерфейса для инструмента; | + | * примерная длительность прохождения, |
- | - аннотирование проверяемого документа (например добавление комментариев прямо в doc(x)); | + | * протяженность, |
+ | * потенциальная сложность; | ||
+ | * моделировать прохождение квеста по следующим характеристикам (их может быть больше - ниже примеры): | ||
+ | * оценивать потенциальный граф перемещений (насколько сильно человек может плутать в поисках нужных точек), | ||
+ | * распределение времени прохождения квеста. | ||
+ | * предоставлять интерфейс модерировния квестов; | ||
+ | * предоставлять интерфейс для ручного создания/редактирования квестов; | ||
+ | * выбирать источники данных для подбора точек. | ||
+ | * Подключиться к интерфейсам генератора, передавать ему правила генерации и получать созданные квесты. | ||
Требования: | Требования: | ||
- | * начальный опыт написания формальных текстов и примерное понимание, почему нужно выполнять большую часть правил, описанных в цели работы; | + | * Python + TurboGears. |
- | * опыт обработки машино-читаемых документов (HTML, XML, JSON, CSV ....); | + | * Bootstrap |
- | * начальные знания Python; | + | * Leaflet.js |
- | * начальные знания веб-технологий. | + | |
+ | Результат: веб-приложение, позволяющее не знакомому с технической частью пользователю быстро создавать свои квесты либо модерировать и править квесты, созданные генератором. | ||
- | Результат: веб-сервис, который производит анализ структуры и содержимого загруженных документов. |