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
Next revision Both sides next revision
start:practices [2017/05/17 09:35]
mark
start:practices [2017/05/18 05:00]
kkv
Line 1: Line 1:
 ====== Летняя практика 2017 ====== ====== Летняя практика 2017 ======
- 
- 
-====== Татьяна Берленко ====== 
- 
  
 ===== Geo2Tag ===== ===== Geo2Tag =====
  
-Цель: ​добавить функционал для LBS-платформы Geo2Tag.+Цель: ​расширение возможностей использования ​для LBS-платформы Geo2Tag.
  
 Задачи:​ Задачи:​
  
-  - Закончить реализацию REST интерфейса доступа к карте ​и написать для него ​тесты.  +  - Завершение реализации REST интерфейса доступа к карте
-  - Добавить в логи платформы ​тип запроса (CRUD).+  - Автоматизация тестирования REST интерфейса доступа к карте
   - Любые задачи из backlog.   - Любые задачи из backlog.
  
 Ожидаемый результат:​ Ожидаемый результат:​
-  - Набор функций и тестов для платформы Geo2Tag+  - Набор функций и тестов для платформы ​[[http://​geo2tag.org/​|Geo2Tag]].
  
 Навыки и знания:​ Навыки и знания:​
Line 33: Line 29:
 Консольное приложение на языке 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 36:
  
 Консольное приложение на языке python, в котором происходит проверка кода студента на выполнение некоторых правил задачи: ​ Консольное приложение на языке python, в котором происходит проверка кода студента на выполнение некоторых правил задачи: ​
-  - наличие определенных функций.+  - наличие определенных функций/​методов,​ инструментов языка.
   - невмешательство в изначальный код, который был дан преподавателем.   - невмешательство в изначальный код, который был дан преподавателем.
-  - использование неких определенных методов/​инструментов языка.+
  
 === Проверка на жульничество === === Проверка на жульничество ===
Line 53: Line 49:
  
 [[http://​se.moevm.info/​doku.php/​start:​mse:​projects|Список проектов]] [[http://​se.moevm.info/​doku.php/​start:​mse:​projects|Список проектов]]
- 
- 
-====== Марк Заславский ====== 
  
  
Line 63: 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 83: 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" =====+===== Система проверки студенческих решений для онлайн-курсов "​Основы программирования для 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 библиотеки для ​построения графиков и диаграмм. ​
  
-Результат:​ веб-сервис,​ который позволяет вести ​мониторинг статистики прохождения курса и отслеживать определенные события в логе. +Результат:​ веб-сервис,​ который позволяет вести наблюдение за статистическими показателями прохождения курса и отслеживать ​появление ​определенных событий в журнале работы проверяющей системы
  
-===== Система автоматической проверки наиболее частых формальных ошибок в научных ​статьях/​отчетах =====+===== Система автоматической проверки наиболее частых ошибок в формальных текстах =====
  
-Вводная часть: +Цель: создать веб-сервис анализа формальных ​текстов (научные статьи, курсовые работы,​ пояснительные записки, отчеты) на  соответствие критериям,​ определяемых ​пользователями сервиса. Критерии ​представляют собой ​типичные ​алгоритмически-верифицируемые ошибки, возникающие ​при подготовке документов. Примеры критериев
-Разработать веб-сервис, который проводит ​анализ текста научной статьи/студенческого ​отчета с помощью систем полнотекстового поиска для проверки критериев. Критерии включают самые ​типичные ​о при этом машинно-проверяемыеошибки при подготовке ​данных ​документов, например:​ +  - Личные предложения и личные формы глаголов. 
-  - личные предложения и личные формы глаголов +  - Отсутствие ссылок или ​неверные ссылки на элементы списка литературыизображения, таблицы. 
-  - отсутствие ссылок или ​битые ссылки на элементы списка литературыисунки/таблицы +  - Повторы слов в пределах двух предложений. 
-  - повторы слов в пределах двух предложений +  - Стоп-слова:​ 
-  - стоп-слова:​ +    - жаргонизмы:​ скачать,​ пост, либа, тул; 
-    - жаргонизмы:​ скачать,​ пост, либа, тул +    - личные местоимения
-    - личные местоимения +
-    - там, тут, здесь+
  
 Задачи:​ Задачи:​
-  - парсинг docx/ppt/pdf +  - Разбор и извлечение текста из файлов формата doc(x), ​ppt(x), odt, pdf. 
-  - полнотекстовый поиск +  - Авторизация ​пользователей с помощью протокола OAuth2. 
-  - проверка выполнения больших наборов ​стандартизированных правил ​для ​текста на естественном языке+  - Хранение пользовательских критериев в стандартизированном виде. 
 +  - Асинхронная ​проверка выполнения больших наборов ​критериев.  
 +  - Создание веб-интерфейса. 
 + 
 +Требования: 
 +  - Python, MongoDb 
 +  - Представление о формате XML.  
 + 
 +Результат:  
 +  - Приложение командной ​строки для ​анализа документов на ошибки. 
 +  - Веб-сервис, реализующий интерфейс пользователя к приложению, функции авторизации и хранения ​критериев. ​
start/practices.txt · Last modified: 2022/12/10 09:08 (external edit)