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/17 09:35]
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 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.1495013755.txt.gz · Last modified: 2022/12/10 09:08 (external edit)