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:16]
mark
start:practices [2017/05/17 15:38]
mark
Line 1: Line 1:
 +====== Летняя практика 2017 ======
 +
 +
 ====== Татьяна Берленко ====== ====== Татьяна Берленко ======
  
-===== Инструмент для мониторинга курса на Stepik ===== 
  
 +===== Geo2Tag =====
  
-Цель: создание инструмента, позволяющего отслеживать и сохранять комментарии, ​строить статистику ​прохождения ​курса студентами, ​предоставлять фидбэк студентам,​ синтаксически проверять код студента.+Цель: ​расширение возможностей использования для LBS-платформы Geo2Tag.
  
 Задачи:​ Задачи:​
  
-  - Создание новых или доработка существующих инструментов, которые бы позволили вести учет студенческих комментариев на различных курсах Stepik. Необходимо ​отслеживать ветки дискуссий и сохранять в БД информацию о не обработанных комментариях +  - Завершение реализации REST интерфейса доступа к карте. 
-  - Построение статистики на основе .csv файла с результатами прохождения модуля / курса. +  - Автоматизация тестирования REST интерфейса ​доступа к карте 
-  - На основе решения ​студента,​ функции-генератора test case, функции решения и проверки получаем полный фидбэк (место ошибки) +  Любые задачи из backlog.
-  - Проверка кода студента на выполнение неких правил задачи:​ +
-      - использование определенных функций/​инструментов языка, заданных преподавателем +
-      невмешательство в изначальный код, который был ​дан преподавателем +
  
 Ожидаемый результат:​ Ожидаемый результат:​
-набор ​скриптов для ​командной строки. +  - Набор ​функций ​и тестов для ​платформы Geo2Tag.
  
 Навыки и знания:​ Навыки и знания:​
-знание или желание изучить ​python ​3+  - python ​
 +  - html, css, js 
 +  - MongoDB
  
-===== Geo2Tag =====+==== Stepik ​====
  
-Цель: ​добавить функционал ​для LBS-платформы Geo2Tag.+Цель: ​автоматизация проверки задач преподавателя практики по курсу "​Программирование" ​на образовательной ​платформе Stepik.
  
 Задачи:​ Задачи:​
  
-  - Закончить реализацию REST интерфейса доступа к карте и написать для него тесты  +=== Статистика ===
-  - Добавить в логи платформы тип запроса (CRUD) +
-  - Любые задачи из backlog.+
  
-Ожидаемый результат+Консольное приложение на языке python, в котором на основе .csv файла с результатами прохождения модуля / курса студентов ​строится статистика [[https://​docs.google.com/​spreadsheets/​d/​1PKCsQWCzMVOcQgcyrQmaV9CjT-zUqUbZukxWQm0Ndyk/​edit?​usp=sharing|Пример статистики]]
-  - Набор функций ​и тестов ​для платформы Geo2Tag+
  
-Навыки и знания:​ +=== Предоставление обратной связи студентам === 
-  - python 2 + 
-  - htmlcssjs +Консольное приложение на языке python, в котором на основе решения студента,​ функции-генератора тестовых данных, функции решения ​и проверки получаем место ошибки в коде студента. 
-  - MongoDB+ 
 +=== Получение информации о коде студента === 
 + 
 +Консольное приложение на языке python, в котором происходит проверка кода студента на выполнение некоторых правил задачи:  
 +  - наличие определенных функций/​методов,​ инструментов языка. 
 +  - невмешательство в изначальный кодкоторый был дан преподавателем. 
 + 
 + 
 +=== Проверка на жульничество === 
 + 
 +Консольное приложение на языке pythonв которое позволяет получить сводную таблицу о тех, кто жульничает. 
 + 
 +==== Введение в ПИ ==== 
 + 
 +Цель: рефакторинг и завершение проектов студентов,​ которое участвовали в курсе "​Введение в ПИ" осенью 16го года. 
 + 
 +[[http://​se.moevm.info/​doku.php/​start:​mse:​projects|Список проектов]]
  
  
Line 50: Line 63:
  
 Задачи:​ Задачи:​
-  - Изучение простых операций в 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
  
-===== Kernel programming ===== 
  
-Цель: ​разработка ​проверяющих скриптов для заданий курса ​"​Программирование в ядре Linux"+===== Сервис анализа пулл-реквестов Pullet ===== 
 + 
 +Цель: ​доработка ​и внедрение сервиса (https://​github.com/​moevm/​rePullet) на кафедре. 
 + 
 +Задачи
 +  - Интеграция с веб-сервером Apache; 
 +  - Повышение удобства использования веб-интерфейса
 +  - Интеграция сервиса с Github API. 
 +  - Автоматизация установки сервиса и настройки программной среды.
  
-Задачи: ​ 
-  - изучение механизмов работы ядра Linux и способов его модификации 
-  - создание и отлаживание проверяющих скриптов для задач по разработке модулей ядра/​драйверов/​ прочих расширений) 
-  - создание эталонных и ошибочных решений для задач 
-  ​ 
 Требования:​ Требования:​
-  - знание программирования ядра на начальном уровне +  - PythonFlaskJS
-  - CMakeLinux+
  
-Результат: ​набор сценариев проверки, заинтегрированных в онлайн версию курса+Результат: ​веб-сервисустановленный на кафедральном сервере
  
 +===== Веб-интерфейс для инструмента версионируемой загрузки курсов на Stepik =====
  
-===== Сбор статистики курса ​сновы программирования в Linux" =====+Цель: создание веб-интерфейса к инструменту командной строки https://​github.com/​OSLL/​stepic_uploader , позволяющего автоматизировать создание уроков и курсов в рамках платформы Stepik. Реализуемые ​сценарии использования: 
 +  - Создание урока-контрольной ​по существующему набору вопросов с выбором ответа. 
 +  - Загрузка и выгрузка курса ​в машиночитаемом виде в систему контроля версий. ​
  
-Цельдоработка и расширение ​функционала статистического ​фронтенда+Задачи:​ 
 +  - Создание пользовательского интерфейса. 
 +  - Подключение авторизации с использованием данных Github и Stepik по протоколу OAuth2. 
 +  - Автоматизация установки сервиса и настройки программной среды. 
 + 
 +Требования: 
 +  - Python, Flask, JS 
 + 
 +Результат: веб-сервис загрузки и выгрузки для курсов на stepik.org . 
 + 
 +===== Система проверки студенческих решений для онлайн-курсов "​Основы программирования для Linux / Программирование в ядре Linux" ===== 
 + 
 +Цель: доработка системы, осуществляющей виртуализированную проверку студенческих решений. ​
  
 Задачи:​ Задачи:​
-  - изучение ​принципов статистического анализа ​в связке Python+Mongo +  - Создание и отладка сценариев проверки отдельных заданий. 
-  ​- полнотекстовый поиск силами mongo +  - Маршрутизация HTTP-запросов к системе и горизонтальное масштабирование экземпляров системы
-  - сбор и вычисление статистики курса (самые ​проблемные задачи/как быстро и часто решают и тд) +  - Архитектурное разделение проверяющей системы и сценариев проверки отдельных заданий. ​ 
-  - динамическая ​подгрузка лога +  - Разработка заданий для изучения инструментов отладки и профилирования (gdb, valgrind, callgrind).
-  - адаптивная и отзывчивая графика  +
-  - генерация/экспорт отчетов+
  
 Требования:​ Требования:​
-  - PythonDjango +  - Основные технологии:​ RubyC. 
-  - JS библиотеки для визуализации графики ​+  - Дополнительно: Vagrant, Docker, Libvirt, проргаммирование ядра Linux, Bash.
  
-Результат: ​веб-сервискоторый позволяет вести мониторинг статистики ​прохождения курса и отслеживать определенные события в логе+Результат: ​изменениязаинтегрированные в основную ветку репозитория проекта, ​и развернутые в курсах на Stepik
  
-https://​github.com/​OSLL/​mooc-lp-statistics/​wiki 
-https://​stepic.org/​course/​%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-Linux-548/​ 
  
-===== Сервис анализа ​пулл-реквестов Pullet ​=====+===== Веб-сервис ​сбора и анализа ​статистики курса "​Основы программирования в Linux" ​=====
  
-Цель: доработка и внедрение сервиса ​(https://​github.com/​moevm/​rePullet) на кафедре.+Цель: доработка и реализация ​новых функций веб-сервиса ​сбора статистики,​ использующем данные журнала проверяющей системы курса "​Основы программирования в Linux"
  
 Задачи:​ Задачи:​
-  - интеграция с Apache +  - Изучение принципов статистического анализа с помощью Python и MongoDb. 
-  - доработка UI +  - Полнотекстовый поиск с помощью интерфейсов MongoDb. ​ 
-  - интеграция с Github +  - Сбор ​и вычисление статистики курса (самые сложные задачи,​ скорость решения отдельных задач, наиболее частые ошибки). 
-  - автоматизация развертывания+  - Оперативная загрузка данных журнала проверяющей системы курса "​Основы программирования в Linux"​. 
 +  - Реализация ​графического представления ​статистических показателей. 
 +  - Создание и выгрузка отчетов.
  
 Требования:​ Требования:​
-  - Python, ​Flask, ​JS+  - Python, ​Django 
 +  - JS библиотеки для построения графиков и диаграмм. ​
  
-Результат:​ веб-сервис,​ развернутый на кафедральном сервере. ​+Результат:​ веб-сервис, ​который позволяет вести ​наблюдение за статистическими показателями прохождения курса и отслеживать появление определенных ​событий в журнале работы проверяющей системы
  
-===== Фронтенд для ​инструмента версионируемой загрузки курсов на Stepic ​=====+===== Система автоматической проверки ​наиболее частых ​ошибок ​в формальных текстах =====
  
-Цель: создание ​веб-интерфейса к утилите командной строки https://​github.com/​OSLL/​stepic_uploader ​, позволяющего автоматизировать создание ​уроков/курсов: +Цель: создать веб-сервис анализа формальных ​текстов (научные статьи, ​курсовые работы, пояснительные записки, отчеты) ​на  соответствие ​критериямопределяемых ​пользователями сервиса. Критерии представляют собой типичные ​алгоритмически-верифицируемые ​ошибки, ​возникающие при подготовке документов. Примеры критериев: 
-  - по существующему набору тестов с ответами создать урок-контрольную +  - Личные ​предложения и личные формы глаголов. 
-  - импорт/экспорт курса в систему контроля версий+  - Отсутствие ссылок или неверные ссылки на элементы списка литературы, изображения,​ таблицы. 
 +  ​Повторы слов в пределах двух предложений. 
 +  - Стоп-слова: 
 +    - жаргонизмы: ​скачать, ​пост, либа, тул; 
 +    - личные местоимения. 
  
 Задачи:​ Задачи:​
-  - создание ​UI +  - Разбор и извлечение ​текста из файлов формата doc(x), ppt(x), odt, pdf. 
-  - авторизация в Github/​Stepik через OAuth2 +  - Авторизация ​пользователей с помощью протокола ​OAuth2. 
-  - автоматизация развертывания+  - Хранение пользовательских критериев в стандартизированном виде. 
 +  - Асинхронная проверка выполнения больших наборов критериев.  
 +  - Создание веб-интерфейса.
  
 Требования:​ Требования:​
-  - Python, ​Flask, JS+  - Python, ​MongoDb 
 +  - Представление о формате XML. 
  
-Результат:​ веб-сервис ​для импортакспорта курсов на stepik.org ​+Результат: ​ 
 +  - Приложение командной строки для анализа документов на ошибки. 
 +  - Веб-сервис, реализующий интерфейс ​пользователя ​к приложению,​ функции авторизации и хранения ​критериев. 
start/practices.txt · Last modified: 2022/12/10 09:08 (external edit)