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/17 13:57] mark [Автоматическая система проверки задач для MOOC Мобильная разработка для Android на Kotlin] |
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-квестов ==== | + | |
+ | ==== [Чирухин] Автоматизация создания плагинов 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-квестов. | Цель: разработать веб-сервис создания сценариев для outdoor-квестов. | ||
Line 29: | Line 114: | ||
* осуществлять CRUD для квестов; | * осуществлять CRUD для квестов; | ||
* настраивать генератор квестов и создавать квесты с его помощью; | * настраивать генератор квестов и создавать квесты с его помощью; | ||
- | * визуализировать квесты на карте, проводить грубый анализ (примерная длительность прохождения, протяженность, потенциальная сложность ...); | + | * визуализировать квесты на карте, |
- | * предоставлять интерфейс модерировния квестов; | + | * проводить анализ квестов и их сравнеие: |
+ | * примерная длительность прохождения, | ||
+ | * протяженность, | ||
+ | * потенциальная сложность; | ||
+ | * моделировать прохождение квеста по следующим характеристикам (их может быть больше - ниже примеры): | ||
+ | * оценивать потенциальный граф перемещений (насколько сильно человек может плутать в поисках нужных точек), | ||
+ | * распределение времени прохождения квеста. | ||
+ | * предоставлять интерфейс модерировния квестов; | ||
* предоставлять интерфейс для ручного создания/редактирования квестов; | * предоставлять интерфейс для ручного создания/редактирования квестов; | ||
* выбирать источники данных для подбора точек. | * выбирать источники данных для подбора точек. | ||
Line 42: | Line 134: | ||
Результат: веб-приложение, позволяющее не знакомому с технической частью пользователю быстро создавать свои квесты либо модерировать и править квесты, созданные генератором. | Результат: веб-приложение, позволяющее не знакомому с технической частью пользователю быстро создавать свои квесты либо модерировать и править квесты, созданные генератором. | ||
- | |||
- | |||
- | ===== Темы ВКР бакалавров ===== | ||
- | |||
- | ==== Автоматическая система проверки задач для MOOC "Мобильная разработка для Android на Kotlin" ==== | ||
- | |||
- | |||
- | * неинтерактивные задачи | ||
- | * используем edx.grader на степике | ||
- | * для проверки используем espresso (ui тесты) | ||
- | * даем подробный фидбек | ||
- | |||
- | ==== Система автоматической проверки наиболее частых формальных ошибок в научных статьях/отчетах ==== | ||
- | |||
- | Вводная часть: | ||
- | Разработать веб-сервис, который проводит анализ текста научной статьи/студенческого отчета с помощью систем полнотекстового поиска для проверки критериев. Критерии включают самые типичные (но при этом машинно-проверяемые) ошибки при подготовке данных документов, например: | ||
- | - личные предложения и личные формы глаголов | ||
- | - отсутствие ссылок или битые ссылки на элементы списка литературы/рисунки/таблицы | ||
- | - повторы слов в пределах двух предложений | ||
- | - "телеграфность" | ||
- | - повторение начальных слов абзацев ("Было принято решение") | ||
- | - стоп-слова: | ||
- | - жаргонизмы (использовать список): скачать, пост, либа, тул | ||
- | - личные местоимения | ||
- | - там, тут, здесь | ||
- | |||
- | Задачи: | ||
- | - парсинг docx/ppt/pdf | ||
- | - полнотекстовый поиск | ||
- | - проверка выполнения больших наборов стандартизированных правил для текста на естественном языке | ||