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

Материал из Wiki - Факультет компьютерных наук
Версия от 12:16, 20 января 2016; Galuza (обсуждение | вклад)

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