"Взломы" для системы дистанционной подготовки по программированию (проект) — различия между версиями
Galuza (обсуждение | вклад) (Новая страница, с помощью формы Новый_проект) |
|||
(не показаны 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
ПТ недоступен
СБ недоступен