Электронные таблицы в браузере (проект)
Ментор | Яковлев Виктор |
Учебный семестр | Осень 2016 |
Учебный курс | 2-й курс |
Максимальное количество студентов, выбравших проект: 1 | |
Внимание! Данный проект находится в архиве и реализован не будет. |
Контактная информация
Канал в Telegram для объявлений: @hse_cs_projects_15x_yacovlev
Нужно создать приватный репозиторий в BitBucket или GitHub, и добавить в collaborators ментора:
- BitBucket: victor_yacovlev - GitHub: victor-yacovlev
После этого - заполнить форму https://goo.gl/forms/lzoRPbyyWJskFc2j2, в которой нужно указать ссылку на страницу с репозиторием.
Что это за проект?
Реализовать онлайн вариант программы для работы с электронными таблицами (упрощенный аналог Google Spreadsheets или Microsoft Excel Online).
Чему вы научитесь?
1. Проектированию и разработке клиентской части веб-приложений
2. Основам синтаксического анализа
Какие начальные требования?
1. Знание современных технологий HTML5 (WebSocket, Canvas и т.д.)
2. Уверенное знание языка JavaScript
3. Опыт работы с одним из клиентских веб-фреймворков (Polymer, Angular, React и др.)
Какие будут использоваться технологии?
1. Преимущественно JavaScript и любой frontend-фреймворк на усмотрение студента
2. Django для реализации серверной части
Темы вводных занятий
1. Введение в задачу
2. Практические аспекты формальных грамматик
Направления развития
Возможна реализация веб-приложения, функционально эквивалентного Google Spreadsheets.
Критерии оценки
4 балла - реализовано отображение и редактирование электронной таблицы размер которой не превышает 26x255 ячеек. Данные электронной таблицы сохраняются на сервере и могут быть с него восстановлены.
5 баллов - реализованы базовые операции форматирования ячеек (шрифт, цвет).
6 баллов - возможность работы с таблицами больших размеров (до 36#ZZ столбцов, не менее 1000 строк) без заметного замедления работы на обычном ноутбуке.
7 баллов - возможность закрепления пользователем определенного количества столбцов или строк для постоянного отображения на экране вне зависимости от положения прокрутки.
8 баллов - вычисление выражений в ячейках.
9 баллов - вычисляемые выражения в ячейках могут содержать ссылки на другие ячейки.
10 баллов - при вычислении выражений в ячейках, пользователь в принципе не может выполнить произвольный JavaScript код, то есть вычисление выражений реализовано самостоятельно, без использования функции eval.
Внимание: критерий на больший балл подразумевает выполнение всех предшествующих ему критериев с меньшим баллом.
Ориентировочное расписание занятий
По договоренности.