Skip to main content

Творческий проект

Вместо типового геометрического можно делать свой, язык программирования - любой.

Творческий проект может делать любой учащийся вместо геометрического. Перейти к нему можно в любой момент. Если учащийся получает допуск к работе над творческим проектом, он освобождается от типовых задач, его оценки складываются из прогресса выполнения.

Перед работой над MVP, необходимо согласовать его с преподавателем.

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

Исходники вашего приложения необходимо выложить на гитхаб. Readme-файл должен быть составлен особым образом. Требования к файлу будут описаны ниже.

Без readme задания не проверяются

Для каждого этапа обязателен оформленный в соответствии с требованиями readme файл. Без него проверка исходного кода не выполняется

Если приложение собираемое, то в репозиторий нужно добавить бинарник приложения.

Тем, кто выбрал творческий проект, за каждое полугодие будет поставлено 15 оценок. Если над проектом работает несколько человек, то каждый участник проекта должен выполнить объём работы, эквивалентный 15 часам.

За защиту также идёт оценка с коэффициентом 3. Если проект стоящий, то можно (было бы хорошо) вместо защиты на уроке выступить с ним на школьной конференции в апреле. Она проходит дистанционно.

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

Сколько часов в каждом полугодии сделано, за столько первых уроков будут стоять пятерки, за остальные - колы.

Оформление кода кода

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

У каждого класс или структуры должно быть написано, за что они отвечают.

Язык комментариев

Все комментарии должны быть написаны на русском языке.

Все сложные действия нужно описывать. Например, если программа ищет в цикле количество нечётных чисел, нужно написать об этом в комментариях до цикла.

Каждое простое действие комментировать не нужно.

Readme

Элементы readme указаны последовательно, вам нужно их прописать.

  • Заголовком второго уровня написать название приложения (нужно придумать)
  • Обычным текстом написать год, класс, имя, фамилию. Если над проектом работает несколько учащихся, то необходимо написать их всех, сгруппировав по классам. Если класс один, то нужно просто перечислить их через запятую.
  • Описать стек технологий (например, C++ и UnrealEngine, Django и python)
  • Если приложение является сайтом, то должна быть ссылка на развёрнутый сайт, если оно собирается, то должно быть написано, где лежит бинарник.
  • Добавить заголовок третьего уровня Описание
  • Обычным текстом нужно описать, что именно делает начальная версия приложения с точки зрения пользователя. Описание должно содержать не менее 100 слов.
  • Добавить картинку со скриншотом работы приложения
  • Добавить заголовок третьего уровня с текстом План работы
  • Написать план работы над проектом. О нём будет рассказано ниже
Всё на русском

Весь текст должен быть написан строго на русском языке за исключением непереводимых терминов и названий языков, технологий и прочих имён собственных.

План работы

План работы должен состоять из этапов. Этапы должны быть оформлены в виде маркированного списка.

Для каждого этапа должны быть указаны:

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

На каждый этап может быть выделено не больше пяти часов. Если его трудоёмкость превышает предельное значение, то в зачёт суммарной трудоёмкости из этого этапа пойдут только пять часов. Каждый этап обозначает работу, а не обучение. Пункты не могут содержать в себе обучение.

Перед полным описанием этапов необходимо составить список их названий с чекбоксами. Когда этап будет выполнен, следует пометить его чекбокс.

Чтобы составить список с чекбоксами, нужно использовать такую конструкцию:

- [ ] Меркурий
- [x] Венера
- [x] Земля
- [x] Марс
- [ ] Юпитер
- [ ] Сатурн
- [ ] Уран
- [ ] Нептун

Получим:

  • Меркурий
  • Венера
  • Земля
  • Марс
  • Юпитер
  • Сатурн
  • Уран
  • Нептун

Если этапы группируются по разделам, то разделы должны быть оформлены вложенными списками:

- [ ] Сайт - 30 часов
* [ ] Ранний прототип - 20 часов
+ [x] Написание основных модулей - 10 часов
1. [x] Модуль авторизации - 5 часов
2. [x] Вывод списка записей из базы - 5 часов
+ [ ] Телеграм бот
1. [ ] Бот отвечает на сообщения - 5 часов
2. [ ] Получение ботом данных из базы данных - 5 часов
- [ ] Сервер - 30 часов
  • Сайт - 30 часов
    • Ранний прототип - 20 часов
      • Написание основных модулей - 10 часов
        1. Модуль авторизации - 5 часов
        2. Вывод списка записей из базы - 5 часов
      • Телеграм бот
        1. Бот отвечает на сообщения - 5 часов
        2. Получение ботом данных из базы данных - 5 часов
  • Сервер - 30 часов

Для каждого выполненного этапа в git-репозитории должен быть коммит с таким же названием, при этом допустимо создавать произвольное число коммитов между завершающими этап.

Суммарная трудоёмкость всего проекта должна составлять 30 часов. Она тоже согласовывается с преподавателем.

Над проектом можно работать командой, но тогда объём должен быть больше во столько же раз, сколько людей над этим проектом работает.

Каждый урок, начиная с получения допуска, учащемуся будет выставляться оценка, пропорциональная степени соответствия выполненной работы заявленному плану.