User Tools

Site Tools


start:practices

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start:practices [2017/05/12 13:54]
mark
start:practices [2022/12/10 09:08] (current)
Line 1: Line 1:
 ====== Летняя практика 2017 ====== ====== Летняя практика 2017 ======
- 
- 
-====== Татьяна Берленко ====== 
- 
  
 ===== Geo2Tag ===== ===== Geo2Tag =====
  
-Цель: ​добавить функционал для LBS-платформы Geo2Tag.+Цель: ​расширение возможностей использования ​для LBS-платформы Geo2Tag.
  
 Задачи:​ Задачи:​
  
-  - Закончить реализацию REST интерфейса доступа к карте ​и написать для него ​тесты  +  - Завершение реализации REST интерфейса доступа к карте
-  - Добавить в логи платформы ​тип запроса (CRUD)+  - Автоматизация тестирования REST интерфейса доступа к карте. ​
   - Любые задачи из backlog.   - Любые задачи из backlog.
  
 Ожидаемый результат:​ Ожидаемый результат:​
-  - Набор функций и тестов для платформы Geo2Tag+  - Набор функций и тестов для платформы ​[[http://​geo2tag.org/​|Geo2Tag]].
  
 Навыки и знания:​ Навыки и знания:​
Line 24: Line 20:
  
 ==== Stepik ==== ==== Stepik ====
 +
 +Цель: автоматизация проверки задач преподавателя практики по курсу "​Программирование"​ на образовательной платформе Stepik.
 +
 +Задачи:​
  
 === Статистика === === Статистика ===
  
-Скрипт, который на основе .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|Пример статистики]]
  
-=== Предоставление ​фидбэка студентам ===+=== Предоставление ​обратной связи ​студентам ===
  
-На основе решения студента,​ функции-генератора ​test case, функции решения и проверки получаем ​полный фидбэк (место ошибки)+Консольное приложение на языке python, в котором на основе решения студента,​ функции-генератора ​тестовых данных, функции решения и проверки получаем место ошибки ​в коде студента.
  
 === Получение информации о коде студента === === Получение информации о коде студента ===
  
-Проверка кода студента на выполнение неких правил задачи:​  +Консольное приложение на языке python, в котором происходит проверка кода студента на выполнение некоторых правил задачи:​  
-  - наличие определенных функций +  - наличие определенных функций/​методов,​ инструментов языка. 
-  - невмешательство в изначальный код, который был дан преподавателем +  - невмешательство в изначальный код, который был дан преподавателем. 
-  - использование каких-то определенных методов/​инструментов языка+
  
 === Проверка на жульничество === === Проверка на жульничество ===
  
-Получение сводной таблицы о тех кто жульничает+Консольное приложение ​на языке python, в которое позволяет получить ​сводную таблицу о техкто жульничает.
-Ожидаемый результат:​ джоба в jenkins, которая срабатывает перед каждой парой.+
  
 ==== Введение в ПИ ==== ==== Введение в ПИ ====
  
-Рефакторинг и завершение проектов студентов,​ которое участвовали в курсе "​Введение в ПИ" осенью 16го года.+Цель: рефакторинг и завершение проектов студентов,​ которое участвовали в курсе "​Введение в ПИ" осенью 16го года.
  
 [[http://​se.moevm.info/​doku.php/​start:​mse:​projects|Список проектов]] [[http://​se.moevm.info/​doku.php/​start:​mse:​projects|Список проектов]]
- 
- 
-====== Марк Заславский ====== 
  
  
Line 60: Line 56:
  
 Задачи:​ Задачи:​
-  - Изучение простых операций в 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 
-http://​se.moevm.info/​doku.php/​staff:​courses:​no_sql_introduction+  ​* ​http://​se.moevm.info/​doku.php/​staff:​courses:​no_sql_introduction
  
  
Line 80: Line 76:
  
 Задачи:​ Задачи:​
-  - интеграция с 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.  
 + 
 +Результат:​  
 +  - Приложение командной строки для анализа документов на ошибки. 
 +  - Веб-сервис,​ реализующий интерфейс пользователя к приложению,​ функции авторизации и хранения критериев
start/practices.1494597271.txt.gz · Last modified: 2022/12/10 09:08 (external edit)