Планировщик встреч (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Чичварина Екатерина
Учебный семестр Весна 2016
Учебный курс 1-й курс
Максимальное количество студентов, выбравших проект: 5



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

Вопрос "когда всем удобно?" возникает в наши дни достаточно часто. На работе нужно синхронизировать большое количество людей из разных отделов для работы над общим проектом, в учебных заведениях - составлять расписание, в свободное время - планировать совместные встречи, конференции и другие мероприятия.

Предлагается написать свой инструмент с простым web-интерфейсом, который позволяет обрабатывать данные о занятости большого количества людей и подбирать подходящие варианты при заданных условиях (минимальное необходимое число участников, длительность встречи, даты, в рамках которых ее надо запланировать). Программа-максимум - применить к реальным данным (например, анализатор встреч друзей "вконтакте").

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

  • Алгоритмы нахождения пересечения множеств
  • Проектирование интерфейсов, использование протокола HTTP, взаимодействие интерфейсной и серверной части
  • Шаблонизаторы для python

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

Основы Python Желание познакомиться с html и другими средствами веб-разработки

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

  • Стандартная библиотека Python
  • HTML/XML шаблонизатор для Python (например, Python Template Toolkit, Jinja, Chameleon)

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

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

Можно развивать интерфейсную часть (начать со статического изображения таблицы занятости, а затем сделать ее интерактивной). Можно расширять область применения (учиться подгружать и парсить реальные данные, например, из соц.сетей, либо анализировать другие сущности, например, количество запущенных в системе программ).

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

4-5: написан скрипт, принимающий на вход tsv файл занятости участников и основные требования и выдающий возможные интервалы пересечения можно дернуть его из браузера, передав имя файла и ограничения, и получить ответ (статический текст или таблица с закрашенными ячейками)

6-7: улучшить интерфейс за счет добавления ввода данных и загрузки файла, можно не использовать шаблонизатор

8-10: Использовать шаблонизатор. Альтернативное направление - подключение реальных источников данных вместо статического файла.

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

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

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

СР 10:00 - 13:00

ЧТ 10:00 - 13:00

ПТ 10:00 - 13:00

СБ 12:00 - 15:00