"Взломы" для системы дистанционной подготовки по программированию (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница, с помощью формы Новый_проект)
 
 
(не показаны 3 промежуточные версии 3 участников)
Строка 23: Строка 23:
  
 
=== Чему вы научитесь? ===
 
=== Чему вы научитесь? ===
Основам проектирования распределенных систем
+
 
Созданию простых web интерфейсов на Python
+
* Основам проектирования распределенных систем
Основам серверной разработки
+
* Созданию простых web интерфейсов на Python
 +
* Основам серверной разработки
  
 
=== Какие начальные требования? ===
 
=== Какие начальные требования? ===
Основы Python
+
 
Желание разрабатывать под Linux
+
* Основы Python
Желательно знание английского языка для чтения документации
+
* Желание разрабатывать под Linux
 +
* Желательно знание английского языка для чтения документации
  
 
=== Какие будут использоваться технологии? ===
 
=== Какие будут использоваться технологии? ===
Python web framework (Django/Pyramid)
+
* Python web framework (Django/Pyramid)
SQL
+
* SQL
  
 
=== Темы вводных занятий ===
 
=== Темы вводных занятий ===
Знакомство с фреймворком, базовые основы веб разработки, обсуждение архитектуры.
+
* Знакомство с фреймворком  
 +
 
 +
* Базовые основы веб разработки
 +
 
 +
* Обсуждение архитектуры.
  
 
=== Направления развития ===
 
=== Направления развития ===
При большой нагрузке один сервер не будет успевать перетестировать решения. Поэтому основное направление для развития - поддержка нескольких серверов для запуска тестов.
+
* При большой нагрузке один сервер не будет успевать перетестировать решения. Поэтому основное направление для развития - поддержка нескольких серверов для запуска тестов.
Подробные отчеты о запусках тестов.
+
 
Красивый интерфейс для добавление тестов.
+
* Подробные отчеты о запусках тестов.
 +
 
 +
* Красивый интерфейс для добавление тестов.
  
 
=== Критерии оценки ===
 
=== Критерии оценки ===
 
4-5: Получить код решения и тест. Запустить и выдать отчет по запуску.
 
4-5: Получить код решения и тест. Запустить и выдать отчет по запуску.
 +
 
6-7: Реализовать challenge. Проверять на новом тесте успешно пройденные ранее решения.
 
6-7: Реализовать challenge. Проверять на новом тесте успешно пройденные ранее решения.
 +
 
8-10: Удобный и функциональный интерфейс к первым двум пунктам.
 
8-10: Удобный и функциональный интерфейс к первым двум пунктам.
  
 
=== Ориентировочное расписание занятий ===
 
=== Ориентировочное расписание занятий ===
 
ПН 18:00 - 21:00
 
ПН 18:00 - 21:00
 +
 
ВТ 18:00 - 21:00
 
ВТ 18:00 - 21:00
 +
 
СР недоступен
 
СР недоступен
 +
 
ЧТ 18:00 - 21:00
 
ЧТ 18:00 - 21:00
 +
 
ПТ недоступен
 
ПТ недоступен
 +
 
СБ недоступен
 
СБ недоступен

Текущая версия на 16:25, 28 июля 2017

Ментор Дмитрий Галуза
Учебный семестр Весна 2016
Учебный курс 1-й курс
Максимальное количество студентов, выбравших проект: 5



Что это за проект?

Проект представляет из себя аналог challange/взломов с topcoder/codeforces. Только в данном случае для сайта informatics.mccme.ru

Для тех, кому первые две строчки ничего не прояснили: Есть сайт с кучей задачек, туда можно слать программы и они будут автоматически проверяться на тестах, подготовленных авторами задач. Но мир не идеален, и случается, что внимательно глядя на код решения можно придумать корректный тест, который оно (решение) не пройдет. А в системе решение отмечено как правильное и прошло все тесты авторов.

Так вот. Мы сделаем возможность "горячего" добавления тестов и перетестирования на этом тесте программ.

Хорошо написанный проект будет внедрен на informatics

Чему вы научитесь?

  • Основам проектирования распределенных систем
  • Созданию простых web интерфейсов на Python
  • Основам серверной разработки

Какие начальные требования?

  • Основы Python
  • Желание разрабатывать под Linux
  • Желательно знание английского языка для чтения документации

Какие будут использоваться технологии?

  • Python web framework (Django/Pyramid)
  • SQL

Темы вводных занятий

  • Знакомство с фреймворком
  • Базовые основы веб разработки
  • Обсуждение архитектуры.

Направления развития

  • При большой нагрузке один сервер не будет успевать перетестировать решения. Поэтому основное направление для развития - поддержка нескольких серверов для запуска тестов.
  • Подробные отчеты о запусках тестов.
  • Красивый интерфейс для добавление тестов.

Критерии оценки

4-5: Получить код решения и тест. Запустить и выдать отчет по запуску.

6-7: Реализовать challenge. Проверять на новом тесте успешно пройденные ранее решения.

8-10: Удобный и функциональный интерфейс к первым двум пунктам.

Ориентировочное расписание занятий

ПН 18:00 - 21:00

ВТ 18:00 - 21:00

СР недоступен

ЧТ 18:00 - 21:00

ПТ недоступен

СБ недоступен