"Взломы" для системы дистанционной подготовки по программированию (проект)
Ментор | Дмитрий Галуза |
Учебный семестр | Весна 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
ПТ недоступен
СБ недоступен