WIP: порядок сдачи работ в Markdown через Git

git
Дмитрий Козлюк 2 недель назад
Родитель 3d13aa7f9f
Сommit ccc2fcdfb9

@ -2,4 +2,140 @@
* Методические указания и варианты заданий — в списке файлов выше. * Методические указания и варианты заданий — в списке файлов выше.
* [Журнал](https://docs.google.com/spreadsheets/d/1P9XF8Chyo3sBx5sgGW2UriUBv78sLLuHwOadQvefH9s/edit?usp=sharing) * [Журнал](https://docs.google.com/spreadsheets/d/1P9XF8Chyo3sBx5sgGW2UriUBv78sLLuHwOadQvefH9s/edit?usp=sharing)
* [Комментарии к методическим указаниям](comments.md) * [Комментарии к методическим указаниям](comments.md)
---
## Работа с Git
**Работы проверяются только после того, как закоммичены по правилам ниже.**
1. В начале семестра
создать на сервере копию этого репозитория ("форкнуть" его), нажав *Fork*.
Получится репозиторий-форк `http://uit.mpei.ru/git/IvanovII/python`,
где `IvanovII` — ваше имя пользователя.
1. В начале каждого занятия:
Клонировать свой форк на рабочий стол:
```sh
git clone http://uit.mpei.ru/git/IvanovII/python
```
Перебазировать свой форк на исходный репозиторий ("апстрим"):
```sh
# Первую команду нужно запускать только один раз,
# иначе будет ошибка "error: remote upstream already exists".
git remote add upstream http://uit.mpei.ru/git/main/python.git
git fetch upstream
git stash push
git rebase upstream/main
git stash pop
```
Перебазировать нужно, чтобы подтянуть из исходного репозитория обновления.
1. После того, как отчет написан, закоммитить его как `TEMAn/report.md`.
Здесь и далее `TEMAn` — каталоги конкретных тем: `TEMA1`, `TEMA2` и т. д.
Можно также коммитить по частям в процессе работы.
Если для отчета нужны рисунки, то их закоммитить в `TEMAn`,
назвав `figure0.png`, `figure1.png` и т. д.
1. Решение общего контрольного задания (ОКЗ) закоммитить как `TEMAn/task.md`.
Исключения:
* Тема 1 не содержит общего контрольного задания — ничего не делать.
* Тема 8 требует нескольких файлов — закоммитить их в каталог `TEMA8/task`.
1. Решение индивидуального контрольного задания (ИКЗ) по темам 2, 4, 5, 7, 8
или решение теста по модуля после тем 3, 6, 9
закоммитить как `TEMAn/test.md`.
Исключения:
* Тема 1 вместо ИКЗ содержит контрольный вопрос —
закоммитить также в `TEMA1/test.md`.
* Тема 8 и тест по модулю 3 (после темы 9) требуют нескольких файлов —
закоммитить в каталог `TEMAn/test`.
## Оформление отчета
Отчет `TEMAn/report.md` оформляется в формате Markdown по следующему образцу:
# Отчет по теме 1
Иванов Иван, А-01-25
## 1 Изучение среды IDLE
## 1.1 Настройка текущего каталога
```
>>> import os
>>> os.chdir(r"C:\users\u111-19\Desktop\python\TEMA1")
>>> os.getcwd()
'C:\\Users\\u111-19\\Desktop\\python\\TEMA1'
```
Нажал *Файл / Открыть*, диалог оказался сразу нацелен на установленную папку:
![Скриншот диалога открытия файла](figure0.png)
Нужно написать приведенный выше текст в `report.md` (например, Блокнотом),
а рядом разместить изображение `figure0.png`,
тогда в web-интерфейсе Gitea фрагмент будет отображаться так:
> # Отчет по теме 1
>
> Иванов Иван, А-01-25
>
> ## 1 Изучение среды IDLE
>
> ## 1.1 Настройка текущего каталога
>
> ```
> >>> import os
> >>> os.chdir(r"C:\users\u111-19\Desktop\python\TEMA1")
> >>> os.getcwd()
> 'C:\\Users\\u111-19\\Desktop\\python\\TEMA1'
> ```
>
> Нажал *Файл / Открыть*, диалог оказался сразу нацелен на установленную папку:
>
> ![Скриншот диалога открытия файла](assets/report-example.png)
Заголовки пунктов должны отражать их суть в нескольких словах,
то есть просто скопировать текст пункта в заголовок не подойдет.
Вы должны сами придумать осмысленные заголовки, прочитав пункт задания.
В отчет копируется код, введенный в оболочку (строки, начинающиеся с `>>>`),
и вывод соответствующих команд (`'C:\\Users...` в примере).
Если в пункте задания требуется сделать вывод или объяснить что-то,
к коду и выводу добавляется письменный ответ или пояснение.
[Узнать больше о формате Markdown.](https://commonmark.org/help/)
## Оформление решений
Решение всех заданий оформлять по образцу:
# Общее контрольное задание по теме 2
Иванов Иван, А-01-25
## Задание
Создать переменную `name`, содержащую ваше имя. Определить тип этой переменной.
## Решение
```py
>>> name = 'Иван'
>>> type(name)
'str'
```
Для тем 8 и 9 раздела «Решение» не нужно,
вместо этого решение размещается в отдельных файлах `*.py`.

Двоичные данные
assets/report-example.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 15 KiB

Загрузка…
Отмена
Сохранить