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/03/20 14:38]
mark
start:practices [2017/05/18 05:00]
kkv
Line 1: Line 1:
-====== ​Татьяна Берленко ====== +====== ​Летняя практика 2017 ======
  
 ===== Geo2Tag ===== ===== Geo2Tag =====
  
-Цель: ​добавить функционал для LBS-платформы Geo2Tag.+Цель: ​расширение возможностей использования ​для LBS-платформы Geo2Tag.
  
 Задачи:​ Задачи:​
  
-  - Закончить реализацию REST интерфейса доступа к карте ​и написать для него ​тесты  +  - Завершение реализации REST интерфейса доступа к карте
-  - Добавить в логи платформы ​тип запроса (CRUD)+  - Автоматизация тестирования REST интерфейса доступа к карте. ​
   - Любые задачи из backlog.   - Любые задачи из backlog.
  
 Ожидаемый результат:​ Ожидаемый результат:​
-  - Набор функций и тестов для платформы Geo2Tag+  - Набор функций и тестов для платформы ​[[http://​geo2tag.org/​|Geo2Tag]].
  
 Навыки и знания:​ Навыки и знания:​
Line 20: Line 19:
   - 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 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 49: 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.txt · Last modified: 2022/12/10 09:08 (external edit)