Практика
Здесь описаны основные этапы выполнения проекта, также обозначены даты их дедлайнов для учащихся 239.
Каждый законченный этап должен быть сохранён в коммите с указанным названием. Между такими коммитами вы можете добавлять сколько угодно своих, но этапы будут оцениваться по последнему коммиту с требуемым названием. Если такого коммита нет, этап считается невыполненным.
Ссылку на репозиторий нужно прислать сюда.
Для каждого этапа обязателен оформленный в соответствии с требованиями
readme
файл. Без него проверка исходного кода не выполняется
ReadMe
В корне вашего репозитория должен быть readme файл.
Сначала в нём должен быть заголовок "Проект по информатике"
После него в первом абзаце необходимо указать: класс, фамилию и имя
Во втором абзаце необходимо привести номер и условие задачи
Теория лежит здесь
Название коммита: ReadMe
Элементы управления
Необходимо заполнить панель управления всеми необходимыми элементами для вашей задачи.
Элементы ручного и случайное добавление должны быть прописаны для каждого типа геометрических объектов задачи.
Например, если в вашей задачи даны окружности и линия, то нужно добавить:
- блок ручного добавления окружности
- блок случайного добавления окружностей (т.к. их несколько)
- блок ручного задания линии (например, по двум точкам)
- блок случайного задания линии
Линия не добавляется, а задаётся, потому что одна.
Вся работа выполняется в классе панели управления PanelControl
Название коммита: Control
Структуры данных
Необходимо создать классы всех геометрических объектов в пакете app
по аналогии с
классом Point
.
Теория находится здесь
После этого в классе задачи Task
нужно добавить списки для каждого типа объектов, если их предполагается
много. Если
примитив всегда один, то добавьте соответствующее поле.
Также нужно написать тесты для всех методов новых структур.
теория по юнит-тестам лежит здесь.
Название коммита: Data Structures
Рисование
Необходимо прописать рисование всех ваших примитивов. Рисование должно использовать примитивы из созданных на прошлом этапе списков, а также поле единичных примитивов (например, в задаче всегда одна линия)
На этом этапе следует вручную в конструкторе класса Task
заполнить все списки и поля примитивов
вручную. Это позволит без интерфейса добавления проверять, правильно ли выполняется
рисование.
Само рисование необходимо прописать в методе renderTask()
класса Task
:
Название коммита: Render
Добавление кнопками
Необходимо прописать обработку элементов добавления на панели управления из блока
Грубо говоря, в конце этого этапа должны корректно работать все кнопки добавления.
Название коммита: Buttons
Добавление мышью
Необходимо прописать добавление примитивов мышью. Если вам нужно добавлять
два типа объектов, то проще всего добавлять их разными кнопками мыши. Если же их больше, то
используйте модификаторы Ctrl
и Shift
.
Если объект задаётся несколькими точками, то введите счётчик кликов. При первом запоминайте первую точку, при втором - вторую и т.д. Когда все точки заданы, последний клик добавляет фигуру по всем сохранённым точкам и обнуляет счётчик.
Теория лежит здесь
Название коммита: Mouse
Решение задачи
Необходимо решить задачу, написать хотя бы три юнит-теста для решения.
Теория по решению задачи лежит здесь, а теория по юнит-тестам - здесь.
Также необходимо прописать отображение ответа как на панели информации, так и на панели
рисования и добавить в ReadMe
-файл скриншот с демонстрацией работы программы.
Название коммита: Solve
Работа с файлами
Необходимо прописать загрузку и сохранение данных задачи. Теория лежит здесь
Название коммита: Files
Отчёт
В отчёте необходимо описать, что было выполнено, какие алгоритмы были разработаны. Pdf пример готового отчёта можно скачать здесь, а Word здесь.
Готовый отчёт нужно положить в папку report
в корне вашего проекта. Предварительно необходимо
создать эту папку. Отчёт должен быть сохранён в двух форматах: 'pdf' и 'word' и
называться ГОД_ВЫПУСКА_ПАРАЛЛЕЛЬ_ФАМИЛИЯ_ИМЯ_отчёт
.
Например, для учащегося 10-8 в 2022 году Иванова Александра отчёт должен называться
2023_8_Иванов_Александр.pdf
и 2023_8_Иванов_Александр.docx
Название коммита: Report
Презентация
Для защиты проекта вам необходимо подготовить презентацию. Пример презентации можно скачать здесь.
Готовую презентацию надо также, как и отчёт, положить в папку report
. Название файла определяется так же
как и название отчёта. Презентация Иванова Александра должен была бы называться
2023_8_Иванов_Александр.pptx
.
Название коммита: Presentation
Защита
Защита проекта происходит на уроке. Учащийся должен будет выступить с презентацией и рассказать о том, как работает его программа. Защищать проект можно на любом из уроков, как только учащийся посчитает себя подготовленным к этому.
Оценка за защиту ставится с коэффициентом 3, оценивается само выступление, законченность приложения и качество презентации