Язык программирования Go: различия между версиями
Maximus3 (обсуждение | вклад) Нет описания правки |
Maximus3 (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
{| style="width:100%; margin:0 0 16px 0; background:#eefbff; border:1px solid #b8e6f2; border-left:6px solid #00add8;" | |||
| style="padding:18px 20px;" | | |||
<span style="font-size:180%; font-weight:700;">Программирование на Go</span><br> | |||
<span style="font-size:110%;">ВШЭ · осень 2026</span><br><br> | |||
Материалы, дедлайны, правила сдачи и система оценивания курса — в одном месте. Все даты и время указаны '''по Москве'''. | |||
|} | |||
{| style="width:100%; border-collapse:separate; border-spacing:6px; margin:0 0 12px 0;" | |||
| style="width:50%; padding:12px 14px; vertical-align:top; background:#f8f9fa; border:1px solid #eaecf0;" | '''💬 [https://t.me/+irrVLXs6nXo1MDM6 Чат курса]'''<br><small>Объявления и общие вопросы</small> | |||
| style="width:50%; padding:12px 14px; vertical-align:top; background:#f8f9fa; border:1px solid #eaecf0;" | '''🧪 [https://app.manytask.org/hse-go-2026-fall/ Manytask]'''<br><small>Задания, посылки и текущие баллы</small> | |||
|- | |||
| style="padding:12px 14px; vertical-align:top; background:#f8f9fa; border:1px solid #eaecf0;" | '''📚 [https://gitlab.manytask.org/hse/go/public-2026-fall Репозиторий курса]'''<br><small>Условия задач, код лекций и документация</small> | |||
| style="padding:12px 14px; vertical-align:top; background:#f8f9fa; border:1px solid #eaecf0;" | '''🎓 [http://pages.manytask.org/hse/go/public-2026-fall Слайды]'''<br><small>Материалы опубликованных лекций</small> | |||
|} | |||
__TOC__ | |||
== Быстрый старт == | |||
# Зарегистрируйтесь в [https://app.manytask.org/hse-go-2026-fall/ Manytask] — система создаст личный репозиторий, ссылка на него появится в разделе <code>My Repo</code>. | |||
# Добавьте [https://gitlab.manytask.org/-/profile/keys SSH-ключ в GitLab] и склонируйте личный репозиторий. | |||
# В корне репозитория выполните <code>make setup</code>, чтобы загрузить зависимости и инструменты курса. | |||
# Откройте условие задачи в <code>README.md</code>, реализуйте решение и запустите тесты и линтер. | |||
# Сделайте commit и push, затем дождитесь результата в разделе <code>My Submits</code>. | |||
Подробный маршрут первой сдачи с командами есть в задаче [https://gitlab.manytask.org/hse/go/public-2026-fall/-/tree/main/01-Hello-World/sum <code>sum</code>]. Для локальной проверки конкретной задачи используйте: | |||
* <code>go test ./sum/...</code> — тесты; | |||
* <code>golangci-lint run ./sum/...</code> — линтер. | |||
{| | {| style="width:100%; margin:12px 0; background:#fff8e1; border:1px solid #f0d98c; border-left:5px solid #f2c037;" | ||
| | | style="padding:12px 14px;" | '''Важно про отправку.''' Manytask проверяет только задания, изменённые в последнем коммите. Повторную проверку можно запустить кнопкой <code>Retry</code> либо новым коммитом. | ||
|} | |} | ||
Если проверка не прошла, сначала прочитайте лог. Чтобы вам быстрее помогли, приложите к вопросу '''название задачи, ссылку на посылку, точный текст ошибки''' и коротко напишите, что уже пробовали сделать. | |||
== Материалы курса == | == Материалы курса == | ||
* [https://gitlab.manytask.org/hse/go/public-2026-fall Репозиторий с лекциями и заданиями] | * [https://gitlab.manytask.org/hse/go/public-2026-fall Репозиторий с лекциями и заданиями] | ||
* [http://pages.manytask.org/hse/go/public-2026-fall Слайды всех опубликованных лекций] | |||
* [https://app.manytask.org/hse-go-2026-fall/ Manytask] | * [https://app.manytask.org/hse-go-2026-fall/ Manytask] | ||
* Публичные результаты TODO | * Публичные результаты TODO | ||
== Преподаватели == | |||
Общие вопросы и объявления — в [https://t.me/+irrVLXs6nXo1MDM6 чате курса]. По вопросам семинара ориентируйтесь на преподавателя своей группы. | |||
{| class="wikitable" style="width:100%; text-align:center;" | |||
|- | |||
! style="width:14%;" | Роль | |||
! Группа 1 | |||
! Группа 2 | |||
! Группа 3 | |||
! Группа 4<br><small>[https://t.me/+UK13ntnO4Sw3OGYy чат]</small> | |||
! Группа 5 | |||
|- | |||
! Лектор | |||
| colspan="5" | [https://t.me/imaximus3 Иванов Максим Юрьевич] | |||
|- | |||
! Семинарист | |||
| [https://t.me/imaximus3 Иванов Максим] | |||
| [https://t.me/edgar_oganisian Оганисян Эдгар] | |||
| [https://t.me/edgar_oganisian Оганисян Эдгар] | |||
| [https://t.me/kiDaniel Даниэль Хайбулин] | |||
| Кирилл Шубников | |||
|} | |||
== Лекции и ДЗ == | == Лекции и ДЗ == | ||
{| class="wikitable" style="text-align:center" | Таблица пополняется по мере публикации материалов. | ||
{| class="wikitable" style="width:100%; text-align:center;" | |||
|- | |- | ||
! № | ! № | ||
! Дата | |||
! Тема | |||
! Материалы | |||
! ДЗ | |||
! Мягкий дедлайн | |||
! Жёсткий дедлайн | |||
|- | |- | ||
| 1 | |||
| 08.09.2026 | |||
| style="text-align:left;" | Введение | |||
| [http://pages.manytask.org/hse/go/public-2026-fall/01-intro/lecture.slide.html Слайды] | |||
| [https://gitlab.manytask.org/hse/go/public-2026-fall/-/tree/main/01-Hello-World ДЗ 1] | |||
| 23.09.2026, 23:59 | |||
| 30.09.2026, 23:59 | |||
|} | |} | ||
| Строка 32: | Строка 93: | ||
=== Итоговая оценка === | === Итоговая оценка === | ||
'''О<sub>итог</sub> = min(10, 0.6 × ДЗ + 0.1 × Семинары + 0.3 × Экзамен + 0.1 × Бонусы)''' | {| style="width:100%; margin:8px 0 14px 0; background:#eefbff; border:1px solid #b8e6f2;" | ||
| style="padding:14px; text-align:center;" | <span style="font-size:125%;">'''О<sub>итог</sub> = min(10, 0.6 × ДЗ + 0.1 × Семинары + 0.3 × Экзамен + 0.1 × Бонусы)'''</span> | |||
|} | |||
{| class="wikitable" style="width:100%;" | |||
|- | |||
! style="width:18%;" | Компонент | |||
! style="width:12%; text-align:center;" | Вес | |||
! Как считается | |||
|- | |||
! ДЗ | |||
| style="text-align:center;" | 60% | |||
| Сумма баллов по всем обычным домашним заданиям относительно максимально возможной суммы, нормированная к шкале 0–10. '''БДЗ в эту сумму не входят.''' | |||
|- | |||
! Семинары | |||
| style="text-align:center;" | 10% | |||
| Посещение и активность на семинарах, 0–10 баллов. | |||
|- | |||
! Экзамен | |||
| style="text-align:center;" | 30% | |||
| Оценка за итоговый экзамен, 0–10 баллов. | |||
|- | |||
! Бонусы | |||
| style="text-align:center;" | до +10% | |||
| Дополнительные баллы за активность, помощь другим студентам, доклады и другие полезные инициативы, 0–10 баллов. | |||
|} | |||
=== Автоматы === | === Автоматы === | ||
Итоговая оценка может быть выставлена автоматически | Итоговая оценка может быть выставлена автоматически, без сдачи экзамена. Нужно выполнить '''все условия одной строки''': | ||
{| class="wikitable" style="text-align:center" | {| class="wikitable" style="width:100%; text-align:center;" | ||
|- | |- | ||
! Оценка !! | ! Оценка | ||
! Семинары | |||
! ДЗ при 1 зачтённом БДЗ | |||
! ДЗ при 2 зачтённых БДЗ | |||
|- | |- | ||
| '''10''' || 9+ || 95% || 85% | |||
|- | |- | ||
| '''9''' || 9+ || 90% || 80% | |||
|- | |- | ||
| '''8''' || 8+ || 85% || 75% | |||
|} | |} | ||
Процент по ДЗ рассчитывается как отношение набранных баллов к максимально возможным по всем обычным домашним заданиям. | |||
=== Правила === | === Правила === | ||
* | * Оценка округляется арифметически '''один раз''' — при выставлении итоговой оценки. | ||
* При выявлении списывания | * При выявлении списывания соответствующая ДЗ или БДЗ аннулируется целиком. Повторное нарушение может привести к более серьёзным последствиям. | ||
== Большие домашние задания (БДЗ) == | == Большие домашние задания (БДЗ) == | ||
В течение курса предусмотрено '''2 больших домашних задания''' | В течение курса предусмотрено '''2 больших домашних задания'''. Они учитываются при получении автомата, но не входят в компонент «ДЗ» итоговой формулы. | ||
* Дедлайн на выполнение — '''3 недели''' с момента выдачи. | |||
* Дедлайн на выполнение — '''3 недели''' с момента выдачи | * Работы проверяются '''вручную преподавателями''' с подробным ревью кода. | ||
* Работы проверяются '''вручную преподавателями''' с подробным | * Оценка <code>1.0</code> от автоматических тестов '''не гарантирует зачёт БДЗ''': финальная оценка выставляется только после ручной проверки. | ||
* | |||
=== Как проверяется БДЗ === | === Как проверяется БДЗ === | ||
Для проверки создаётся issue под названием <code>BHW-1: Check</code> или <code>BHW-2: Check</code>. | |||
{| class="wikitable" style="width:100%;" | |||
|- | |||
! Результат | |||
! Что происходит | |||
|- | |||
! БДЗ зачтено | |||
| В issue появляется комментарий о зачёте, issue закрывается, в Manytask выставляется оценка 5 за БДЗ. | |||
|- | |||
! Нужны исправления | |||
| Issue остаётся открытым, в комментарии перечисляются необходимые правки. | |||
|} | |||
== Экзамен == | == Экзамен == | ||
К экзамену необходимо выполнить задание | К экзамену необходимо выполнить экзаменационное задание. Ссылка на него появится в таблице после публикации. | ||
{| style="width:100%; margin:12px 0; background:#fff8e1; border:1px solid #f0d98c; border-left:5px solid #f2c037;" | |||
| style="padding:12px 14px;" | '''Важно.''' Оценка <code>1.0</code> в Manytask означает только то, что задание прошло автоматическое тестирование. | |||
|} | |||
Сам экзамен проходит в формате индивидуальной беседы по решению — практически онлайн-ревью кода. Преподаватель задаёт вопросы о решении и использованных паттернах. При оценивании учитываются: | |||
* критерии, указанные в <code>README.md</code> задания; | |||
* | * способность студента объяснить, как работает его код. | ||
* | |||
Версия от 22:34, 7 сентября 2026
|
Программирование на Go |
| 💬 Чат курса Объявления и общие вопросы |
🧪 Manytask Задания, посылки и текущие баллы |
| 📚 Репозиторий курса Условия задач, код лекций и документация |
🎓 Слайды Материалы опубликованных лекций |
Быстрый старт
- Зарегистрируйтесь в Manytask — система создаст личный репозиторий, ссылка на него появится в разделе
My Repo. - Добавьте SSH-ключ в GitLab и склонируйте личный репозиторий.
- В корне репозитория выполните
make setup, чтобы загрузить зависимости и инструменты курса. - Откройте условие задачи в
README.md, реализуйте решение и запустите тесты и линтер. - Сделайте commit и push, затем дождитесь результата в разделе
My Submits.
Подробный маршрут первой сдачи с командами есть в задаче sum. Для локальной проверки конкретной задачи используйте:
go test ./sum/...— тесты;golangci-lint run ./sum/...— линтер.
Важно про отправку. Manytask проверяет только задания, изменённые в последнем коммите. Повторную проверку можно запустить кнопкой Retry либо новым коммитом.
|
Если проверка не прошла, сначала прочитайте лог. Чтобы вам быстрее помогли, приложите к вопросу название задачи, ссылку на посылку, точный текст ошибки и коротко напишите, что уже пробовали сделать.
Материалы курса
- Репозиторий с лекциями и заданиями
- Слайды всех опубликованных лекций
- Manytask
- Публичные результаты TODO
Преподаватели
Общие вопросы и объявления — в чате курса. По вопросам семинара ориентируйтесь на преподавателя своей группы.
| Роль | Группа 1 | Группа 2 | Группа 3 | Группа 4 чат |
Группа 5 |
|---|---|---|---|---|---|
| Лектор | Иванов Максим Юрьевич | ||||
| Семинарист | Иванов Максим | Оганисян Эдгар | Оганисян Эдгар | Даниэль Хайбулин | Кирилл Шубников |
Лекции и ДЗ
Таблица пополняется по мере публикации материалов.
| № | Дата | Тема | Материалы | ДЗ | Мягкий дедлайн | Жёсткий дедлайн |
|---|---|---|---|---|---|---|
| 1 | 08.09.2026 | Введение | Слайды | ДЗ 1 | 23.09.2026, 23:59 | 30.09.2026, 23:59 |
Система оценки
Итоговая оценка
| Оитог = min(10, 0.6 × ДЗ + 0.1 × Семинары + 0.3 × Экзамен + 0.1 × Бонусы) |
| Компонент | Вес | Как считается |
|---|---|---|
| ДЗ | 60% | Сумма баллов по всем обычным домашним заданиям относительно максимально возможной суммы, нормированная к шкале 0–10. БДЗ в эту сумму не входят. |
| Семинары | 10% | Посещение и активность на семинарах, 0–10 баллов. |
| Экзамен | 30% | Оценка за итоговый экзамен, 0–10 баллов. |
| Бонусы | до +10% | Дополнительные баллы за активность, помощь другим студентам, доклады и другие полезные инициативы, 0–10 баллов. |
Автоматы
Итоговая оценка может быть выставлена автоматически, без сдачи экзамена. Нужно выполнить все условия одной строки:
| Оценка | Семинары | ДЗ при 1 зачтённом БДЗ | ДЗ при 2 зачтённых БДЗ |
|---|---|---|---|
| 10 | 9+ | 95% | 85% |
| 9 | 9+ | 90% | 80% |
| 8 | 8+ | 85% | 75% |
Процент по ДЗ рассчитывается как отношение набранных баллов к максимально возможным по всем обычным домашним заданиям.
Правила
- Оценка округляется арифметически один раз — при выставлении итоговой оценки.
- При выявлении списывания соответствующая ДЗ или БДЗ аннулируется целиком. Повторное нарушение может привести к более серьёзным последствиям.
Большие домашние задания (БДЗ)
В течение курса предусмотрено 2 больших домашних задания. Они учитываются при получении автомата, но не входят в компонент «ДЗ» итоговой формулы.
- Дедлайн на выполнение — 3 недели с момента выдачи.
- Работы проверяются вручную преподавателями с подробным ревью кода.
- Оценка
1.0от автоматических тестов не гарантирует зачёт БДЗ: финальная оценка выставляется только после ручной проверки.
Как проверяется БДЗ
Для проверки создаётся issue под названием BHW-1: Check или BHW-2: Check.
| Результат | Что происходит |
|---|---|
| БДЗ зачтено | В issue появляется комментарий о зачёте, issue закрывается, в Manytask выставляется оценка 5 за БДЗ. |
| Нужны исправления | Issue остаётся открытым, в комментарии перечисляются необходимые правки. |
Экзамен
К экзамену необходимо выполнить экзаменационное задание. Ссылка на него появится в таблице после публикации.
Важно. Оценка 1.0 в Manytask означает только то, что задание прошло автоматическое тестирование.
|
Сам экзамен проходит в формате индивидуальной беседы по решению — практически онлайн-ревью кода. Преподаватель задаёт вопросы о решении и использованных паттернах. При оценивании учитываются:
- критерии, указанные в
README.mdзадания; - способность студента объяснить, как работает его код.