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/03/20 14:38] mark |
start:practices [2017/05/18 04:59] kkv |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Татьяна Берленко ====== | + | ====== Летняя практика 2017 ====== |
+ | ===== Категория: Geo2Tag ===== | ||
- | ===== Geo2Tag ===== | + | Цель: расширение возможностей использования для LBS-платформы Geo2Tag. |
- | + | ||
- | Цель: добавить функционал для LBS-платформы Geo2Tag. | + | |
Задачи: | Задачи: | ||
- | - Закончить реализацию REST интерфейса доступа к карте и написать для него тесты | + | - Завершение реализации REST интерфейса доступа к карте. |
- | - Добавить в логи платформы тип запроса (CRUD) | + | - Автоматизация тестирования REST интерфейса доступа к карте. |
- Любые задачи из backlog. | - Любые задачи из backlog. | ||
Ожидаемый результат: | Ожидаемый результат: | ||
- | - Набор функций и тестов для платформы Geo2Tag | + | - Набор функций и тестов для платформы [[http://geo2tag.org/|Geo2Tag]]. |
Навыки и знания: | Навыки и знания: | ||
Line 19: | Line 18: | ||
- html, css, js | - html, css, js | ||
- MongoDB | - MongoDB | ||
+ | |||
+ | ==== Stepik ==== | ||
+ | |||
+ | Цель: автоматизация проверки задач преподавателя практики по курсу "Программирование" на образовательной платформе Stepik. | ||
+ | |||
+ | Задачи: | ||
+ | |||
+ | === Статистика === | ||
+ | |||
+ | Консольное приложение на языке python, в котором на основе .csv файла с результатами прохождения модуля / курса студентов строится статистика [[https://docs.google.com/spreadsheets/d/1PKCsQWCzMVOcQgcyrQmaV9CjT-zUqUbZukxWQm0Ndyk/edit?usp=sharing|Пример статистики]] | ||
+ | |||
+ | === Предоставление обратной связи студентам === | ||
+ | |||
+ | Консольное приложение на языке python, в котором на основе решения студента, функции-генератора тестовых данных, функции решения и проверки получаем место ошибки в коде студента. | ||
+ | |||
+ | === Получение информации о коде студента === | ||
+ | |||
+ | Консольное приложение на языке python, в котором происходит проверка кода студента на выполнение некоторых правил задачи: | ||
+ | - наличие определенных функций/методов, инструментов языка. | ||
+ | - невмешательство в изначальный код, который был дан преподавателем. | ||
+ | |||
+ | |||
+ | === Проверка на жульничество === | ||
+ | |||
+ | Консольное приложение на языке python, в которое позволяет получить сводную таблицу о тех, кто жульничает. | ||
+ | |||
+ | ==== Введение в ПИ ==== | ||
+ | |||
+ | Цель: рефакторинг и завершение проектов студентов, которое участвовали в курсе "Введение в ПИ" осенью 16го года. | ||
+ | |||
+ | [[http://se.moevm.info/doku.php/start:mse:projects|Список проектов]] | ||
Line 29: | Line 59: | ||
Задачи: | Задачи: | ||
- | - Изучение простых операций в 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 49: | Line 79: | ||
Задачи: | Задачи: | ||
- | - интеграция с 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" ===== | ||
+ | |||
+ | Цель: доработка системы, осуществляющей виртуализированную проверку студенческих решений. | ||
+ | |||
+ | Задачи: | ||
+ | - Создание и отладка сценариев проверки отдельных заданий. | ||
+ | - Маршрутизация HTTP-запросов к системе и горизонтальное масштабирование экземпляров системы. | ||
+ | - Архитектурное разделение проверяющей системы и сценариев проверки отдельных заданий. | ||
+ | - Разработка заданий для изучения инструментов отладки и профилирования (gdb, valgrind, callgrind). | ||
+ | |||
+ | Требования: | ||
+ | - Основные технологии: Ruby, C. | ||
+ | - Дополнительно: Vagrant, Docker, Libvirt, проргаммирование ядра Linux, Bash. | ||
+ | |||
+ | Результат: изменения, заинтегрированные в основную ветку репозитория проекта, и развернутые в курсах на Stepik. | ||
+ | |||
+ | |||
+ | ===== Веб-сервис сбора и анализа статистики курса "Основы программирования в Linux" ===== | ||
+ | |||
+ | Цель: доработка и реализация новых функций веб-сервиса сбора статистики, использующем данные журнала проверяющей системы курса "Основы программирования в Linux". | ||
+ | |||
+ | Задачи: | ||
+ | - Изучение принципов статистического анализа с помощью Python и MongoDb. | ||
+ | - Полнотекстовый поиск с помощью интерфейсов MongoDb. | ||
+ | - Сбор и вычисление статистики курса (самые сложные задачи, скорость решения отдельных задач, наиболее частые ошибки). | ||
+ | - Оперативная загрузка данных журнала проверяющей системы курса "Основы программирования в Linux". | ||
+ | - Реализация графического представления статистических показателей. | ||
+ | - Создание и выгрузка отчетов. | ||
+ | |||
+ | Требования: | ||
+ | - Python, Django | ||
+ | - JS библиотеки для построения графиков и диаграмм. | ||
+ | |||
+ | Результат: веб-сервис, который позволяет вести наблюдение за статистическими показателями прохождения курса и отслеживать появление определенных событий в журнале работы проверяющей системы. | ||
+ | |||
+ | ===== Система автоматической проверки наиболее частых ошибок в формальных текстах ===== | ||
+ | |||
+ | Цель: создать веб-сервис анализа формальных текстов (научные статьи, курсовые работы, пояснительные записки, отчеты) на соответствие критериям, определяемых пользователями сервиса. Критерии представляют собой типичные алгоритмически-верифицируемые ошибки, возникающие при подготовке документов. Примеры критериев: | ||
+ | - Личные предложения и личные формы глаголов. | ||
+ | - Отсутствие ссылок или неверные ссылки на элементы списка литературы, изображения, таблицы. | ||
+ | - Повторы слов в пределах двух предложений. | ||
+ | - Стоп-слова: | ||
+ | - жаргонизмы: скачать, пост, либа, тул; | ||
+ | - личные местоимения. | ||
+ | |||
+ | Задачи: | ||
+ | - Разбор и извлечение текста из файлов формата doc(x), ppt(x), odt, pdf. | ||
+ | - Авторизация пользователей с помощью протокола OAuth2. | ||
+ | - Хранение пользовательских критериев в стандартизированном виде. | ||
+ | - Асинхронная проверка выполнения больших наборов критериев. | ||
+ | - Создание веб-интерфейса. | ||
+ | |||
+ | Требования: | ||
+ | - Python, MongoDb | ||
+ | - Представление о формате XML. | ||
+ | |||
+ | Результат: | ||
+ | - Приложение командной строки для анализа документов на ошибки. | ||
+ | - Веб-сервис, реализующий интерфейс пользователя к приложению, функции авторизации и хранения критериев. |