This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
start:practices [2017/05/15 10:18] tatyana.berlenko [Stepik] |
start:practices [2017/05/17 15:36] mark |
||
---|---|---|---|
Line 7: | Line 7: | ||
===== Geo2Tag ===== | ===== Geo2Tag ===== | ||
- | Цель: добавить функционал для LBS-платформы Geo2Tag. | + | Цель: расширение возможностей использования для LBS-платформы Geo2Tag. |
Задачи: | Задачи: | ||
- | - Закончить реализацию REST интерфейса доступа к карте и написать для него тесты. | + | - Завершение реализации REST интерфейса доступа к карте. |
- | - Добавить в логи платформы тип запроса (CRUD). | + | - Автоматизация тестирования REST интерфейса доступа к карте. |
- Любые задачи из backlog. | - Любые задачи из backlog. | ||
Ожидаемый результат: | Ожидаемый результат: | ||
- | - Набор функций и тестов для платформы Geo2Tag | + | - Набор функций и тестов для платформы Geo2Tag. |
Навыки и знания: | Навыки и знания: | ||
Line 33: | Line 33: | ||
Консольное приложение на языке python, в котором на основе .csv файла с результатами прохождения модуля / курса студентов строится статистика [[https://docs.google.com/spreadsheets/d/1PKCsQWCzMVOcQgcyrQmaV9CjT-zUqUbZukxWQm0Ndyk/edit?usp=sharing|Пример статистики]] | Консольное приложение на языке python, в котором на основе .csv файла с результатами прохождения модуля / курса студентов строится статистика [[https://docs.google.com/spreadsheets/d/1PKCsQWCzMVOcQgcyrQmaV9CjT-zUqUbZukxWQm0Ndyk/edit?usp=sharing|Пример статистики]] | ||
- | === Предоставление фидбэка студентам === | + | === Предоставление обратной связи студентам === |
Консольное приложение на языке python, в котором на основе решения студента, функции-генератора тестовых данных, функции решения и проверки получаем место ошибки в коде студента. | Консольное приложение на языке python, в котором на основе решения студента, функции-генератора тестовых данных, функции решения и проверки получаем место ошибки в коде студента. | ||
Line 40: | Line 40: | ||
Консольное приложение на языке python, в котором происходит проверка кода студента на выполнение некоторых правил задачи: | Консольное приложение на языке python, в котором происходит проверка кода студента на выполнение некоторых правил задачи: | ||
- | - наличие определенных функций. | + | - наличие определенных функций/методов, инструментов языка. |
- невмешательство в изначальный код, который был дан преподавателем. | - невмешательство в изначальный код, который был дан преподавателем. | ||
- | - использование неких определенных методов/инструментов языка. | + | |
=== Проверка на жульничество === | === Проверка на жульничество === | ||
Line 50: | Line 50: | ||
==== Введение в ПИ ==== | ==== Введение в ПИ ==== | ||
- | Рефакторинг и завершение проектов студентов, которое участвовали в курсе "Введение в ПИ" осенью 16го года. | + | Цель: рефакторинг и завершение проектов студентов, которое участвовали в курсе "Введение в ПИ" осенью 16го года. |
[[http://se.moevm.info/doku.php/start:mse:projects|Список проектов]] | [[http://se.moevm.info/doku.php/start:mse:projects|Список проектов]] | ||
Line 63: | Line 63: | ||
Задачи: | Задачи: | ||
- | - Изучение простых операций в MongoDb; | + | - Изучение простых операций в MongoDb. |
- | - Разработка скриптов автоматизации для проверки лабораторных, связанных с программированием Python+Mongo; | + | - Разработка сценариев автоматизации для проверки лабораторных, связанных с программированием PyMongo. |
- | - Разработка эталонных и ошибочных решений; | + | - Разработка эталонных и ошибочных решений лабораторных работ. |
- | - Интеграция наработок в stepic.org; | + | - Интеграция наработок в stepik.org. |
- | Требование: | + | Требования: |
- Python, Linux | - Python, Linux | ||
- MongoDB на самом базовом уровне | - MongoDB на самом базовом уровне | ||
- | Результат: набор автоматически проверяемых заданий для изучающих связки Python + MongoDB. | + | Результат: набор автоматически проверяемых заданий для студентов, изучающих работу в MongoDB через Python-интерфейсы. |
https://bitbucket.org/mark_zaslavskiy/nosql_inroduction/overview | https://bitbucket.org/mark_zaslavskiy/nosql_inroduction/overview | ||
Line 83: | Line 83: | ||
Задачи: | Задачи: | ||
- | - интеграция с Apache | + | - Интеграция с веб-сервером Apache; |
- | - доработка UI | + | - Повышение удобства использования веб-интерфейса. |
- | - интеграция с Github | + | - Интеграция сервиса с Github API. |
- | - автоматизация развертывания | + | - Автоматизация установки сервиса и настройки программной среды. |
Требования: | Требования: | ||
- Python, Flask, JS | - Python, Flask, JS | ||
- | Результат: веб-сервис, развернутый на кафедральном сервере. | + | Результат: веб-сервис, установленный на кафедральном сервере. |
- | ===== Фронтенд для инструмента версионируемой загрузки курсов на Stepic ===== | + | ===== Веб-интерфейс для инструмента версионируемой загрузки курсов на Stepik ===== |
- | Цель: создание веб-интерфейса к утилите командной строки https://github.com/OSLL/stepic_uploader , позволяющего автоматизировать создание уроков/курсов: | + | Цель: создание веб-интерфейса к инструменту командной строки https://github.com/OSLL/stepic_uploader , позволяющего автоматизировать создание уроков и курсов в рамках платформы Stepik. Реализуемые сценарии использования: |
- | - по существующему набору тестов с ответами создать урок-контрольную | + | - Создание урока-контрольной по существующему набору вопросов с выбором ответа. |
- | - импорт/экспорт курса в систему контроля версий | + | - Загрузка и выгрузка курса в машиночитаемом виде в систему контроля версий. |
Задачи: | Задачи: | ||
- | - создание UI | + | - Создание пользовательского интерфейса. |
- | - авторизация в Github/Stepik через OAuth2 | + | - Подключение авторизации с использованием данных Github и Stepik по протоколу OAuth2. |
- | - автоматизация развертывания | + | - Автоматизация установки сервиса и настройки программной среды. |
Требования: | Требования: | ||
- Python, Flask, JS | - Python, Flask, JS | ||
- | Результат: веб-сервис для импорта/экспорта курсов на stepik.org . | + | Результат: веб-сервис загрузки и выгрузки для курсов на stepik.org . |
- | ===== Проверяющий бакенд для онлайн-курсов "Основы программирования для Linux / Программирование в ядре Linux" ===== | + | ===== Система проверки студенческих решений для онлайн-курсов "Основы программирования для Linux / Программирование в ядре Linux" ===== |
- | Цель: доработка бакенда, осуществляющих виртуализированную проверку студенческих решений. | + | Цель: доработка системы, осуществляющей виртуализированную проверку студенческих решений. |
Задачи: | Задачи: | ||
- | - создание и отладка проверящих скриптов для отдельных заданий | + | - Создание и отладка сценариев проверки отдельных заданий. |
- | - проксирование HTTP запросов и горизонтальное масштабирование системы | + | - Маршрутизация HTTP-запросов к системе и горизонтальное масштабирование экземпляров системы. |
- | - разделение проверяющей системы и заданий | + | - Архитектурное разделение проверяющей системы и сценариев проверки отдельных заданий. |
- | - разработка задач для изучения инструментов отладки и профилирования (gdb, valgrind, callgrind ...) | + | - Разработка заданий для изучения инструментов отладки и профилирования (gdb, valgrind, callgrind ...). |
Требования: | Требования: | ||
- | - Ruby, C | + | - Основные технологии: Ruby, C. |
- | - большим плюсом будет знание следующих технологий: Vagrant, Docker, Libvirt, Kernel programming, Bash | + | - Дополнительно: Vagrant, Docker, Libvirt, проргаммирование ядра Linux, Bash. |
- | Результат: изменения, заинтегрированные в основную ветку и развернутые в курсах на Stepic. | + | Результат: изменения, заинтегрированные в основную ветку репозитория проекта, и развернутые в курсах на Stepik. |
- | ===== Сбор статистики курса "Основы программирования в Linux" ===== | + | ===== Веб-сервис сбора и анализа статистики курса "Основы программирования в Linux" ===== |
- | Цель: доработка и расширение функционала статистического фронтенда | + | Цель: доработка и реализация новых функций веб-сервиса сбора статистики, использующем данные журнала проверяющей системы курса "Основы программирования в Linux". |
Задачи: | Задачи: | ||
- | - изучение принципов статистического анализа в связке Python+Mongo | + | - Изучение принципов статистического анализа с помощью Python и MongoDb. |
- | - полнотекстовый поиск силами mongo | + | - Полнотекстовый поиск с помощью интерфейсов MongoDb. |
- | - сбор и вычисление статистики курса (самые проблемные задачи/как быстро и часто решают и тд) | + | - Сбор и вычисление статистики курса (самые сложные задачи, скорость решения отдельных задач, наиболее частые ошибки). |
- | - динамическая подгрузка лога | + | - Оперативная загрузка данных журнала проверяющей системы курса "Основы программирования в Linux". |
- | - адаптивная и отзывчивая графика | + | - Реализация графического представления статистических показателей. |
- | - генерация/экспорт отчетов | + | - Создание и выгрузка отчетов. |
Требования: | Требования: | ||
- Python, Django | - Python, Django | ||
- | - JS библиотеки для визуализации графики | + | - JS библиотеки для построения графиков и диаграмм. |
- | Результат: веб-сервис, который позволяет вести мониторинг статистики прохождения курса и отслеживать определенные события в логе. | + | Результат: веб-сервис, который позволяет вести наблюдение за статистическими показателями прохождения курса и отслеживать появление определенных событий в журнале работы проверяющей системы. |
+ | |||
+ | ===== Система автоматической проверки наиболее частых ошибок в формальных текстах ===== | ||
+ | |||
+ | Цель: создать веб-сервис анализа формальных текстов (научные статьи, курсовые работы, пояснительные записки, отчеты) на соответствие критериям, определяемых пользователями сервиса. Критерии представляют собой типичные алгоритмически-верифицируемые ошибки при подготовке вышеописанных документов. Примеры критериев: | ||
+ | - Личные предложения и личные формы глаголов. | ||
+ | - Отсутствие ссылок или неверные ссылки на элементы списка литературы, изображения, таблицы. | ||
+ | - Повторы слов в пределах двух предложений. | ||
+ | - Стоп-слова: | ||
+ | - жаргонизмы: скачать, пост, либа, тул; | ||
+ | - личные местоимения. | ||
+ | |||
+ | Задачи: | ||
+ | - Разбор и извлечение текста из файлов формата doc(x), ppt(x), odt, pdf. | ||
+ | - Авторизация пользователей с помощью протокола OAuth2. | ||
+ | - Хранение пользовательских критериев в стандартизированном виде. | ||
+ | - Асинхронная проверка выполнения больших наборов критериев. | ||
+ | - Создание веб-интерфейса. | ||
+ | |||
+ | Требования: | ||
+ | - Python, MongoDb | ||
+ | - Представление о формате XML. | ||
+ | Результат: | ||
+ | - Приложение командной строки для анализа документов на ошибки. | ||
+ | - Веб-сервис, реализующий интерфейс пользователя к приложению. |