"Взломы" для системы дистанционной подготовки по программированию (проект) — различия между версиями
Galuza (обсуждение | вклад) (Новая страница, с помощью формы Новый_проект) |
Galuza (обсуждение | вклад) (форматирование) |
||
Строка 23: | Строка 23: | ||
=== Чему вы научитесь? === | === Чему вы научитесь? === | ||
− | Основам проектирования распределенных систем | + | * Основам проектирования распределенных систем |
− | Созданию простых web интерфейсов на Python | + | * Созданию простых web интерфейсов на Python |
− | Основам серверной разработки | + | * Основам серверной разработки |
=== Какие начальные требования? === | === Какие начальные требования? === | ||
− | Основы Python | + | * Основы Python |
− | Желание разрабатывать под Linux | + | * Желание разрабатывать под Linux |
− | Желательно знание английского языка для чтения документации | + | * Желательно знание английского языка для чтения документации |
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
− | Python web framework (Django/Pyramid) | + | * Python web framework (Django/Pyramid) |
− | SQL | + | * SQL |
=== Темы вводных занятий === | === Темы вводных занятий === | ||
Строка 45: | Строка 45: | ||
=== Критерии оценки === | === Критерии оценки === | ||
− | 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 |
− | ПТ недоступен | + | ПТ недоступен |
− | СБ недоступен | + | СБ недоступен |
Версия 12:19, 20 января 2016
Ментор | Дмитрий Галуза |
Учебный семестр | Весна 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 ПТ недоступен СБ недоступен