Язык программирования Go: различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 121: Строка 121:
|-
|-
| 3
| 3
| 22.09.202
| 22.09.2026
| style="text-align:left;" | Коллекции, строки и данные
| style="text-align:left;" | Коллекции, строки и данные
| [http://pages.manytask.org/hse/go/public-2026-fall/03-collections/lecture.slide.html Слайды]
| [http://pages.manytask.org/hse/go/public-2026-fall/03-collections/lecture.slide.html Слайды]

Текущая версия от 16:16, 20 сентября 2026

Программирование на Go
ВШЭ · осень 2026

Материалы, дедлайны, правила сдачи и система оценивания курса — в одном месте. Все даты и время указаны по Москве.

💬 Чат курса
Объявления и общие вопросы
🧪 Manytask
Задания, посылки и текущие баллы
📚 Репозиторий курса
Условия задач, код лекций и документация
🎓 Слайды
Материалы опубликованных лекций

Быстрый старт и сдача ДЗ

  1. Зарегистрируйтесь в Manytask, откройте My Repo и склонируйте личный репозиторий, добавив SSH-ключ.
  2. Установите Go и выполните make setup. Версии инструментов указаны в Makefile.
  3. Решайте задачи в main. После проверки сделайте commit и push, результат смотрите в My Submits.

Все команды запускайте из корня личного репозитория. На Windows используйте Git Bash из Git for Windows. Установка инструментов и первая сдача подробно описаны в инструкции sum.

Проверка и форматирование

Пример для sum; для другой задачи замените путь:

make format 01-Hello-World/sum
go test ./01-Hello-World/sum/...
golangci-lint run ./01-Hello-World/sum/...
git add 01-Hello-World/sum/sum.go
git commit -m "Solve sum"
git push origin main

Без make форматирование выполняется так:

golangci-lint run --no-config --enable-only wsl_v5 --fix ./01-Hello-World/sum/...
golangci-lint fmt ./01-Hello-World/sum/...

Проверяются задачи из последнего коммита: удобный порядок — задача → commit → push. Повторить проверку той же посылки можно кнопкой Retry в GitLab. При ошибке прочитайте лог grade; к вопросу в чате приложите название задачи, ссылку на посылку и текст ошибки.

Как получить новые ДЗ

Сохраните решения коммитом. При чистом git status выполните:

make rebase-on-public
git push --force-with-lease origin main

Без make: один раз добавьте источник командой git remote add public-repo git@gitlab.manytask.org:hse/go/public-2026-fall.git, затем используйте git fetch public-repo и git rebase public-repo/main.

Rebase переносит ваши коммиты поверх новых материалов. При конфликте совместите изменения, выполните git add путь/к/файлу и git rebase --continue. Для отмены — git rebase --abort. Не используйте --skip вслепую: он пропускает ваш коммит. После rebase нужен --force-with-lease, при обычной сдаче — обычный push.

Материалы курса

Преподаватели

Общие вопросы и объявления — в чате курса. По вопросам семинара ориентируйтесь на преподавателя своей группы.

Роль Группа 1 Группа 2 Группа 3 Группа 4
чат
Группа 5
Лектор Иванов Максим Юрьевич
Семинарист Иванов Максим Оганисян Эдгар Оганисян Эдгар Даниэль Хайбулин Кирилл Шубников

Лекции и ДЗ

Таблица включает опубликованные и ближайшие запланированные материалы. Ссылки запланированного занятия могут заработать после публикации; доступность ДЗ проверяйте в Manytask.

Дата Тема Материалы ДЗ Дедлайн 100% Дедлайн 50%
1 08.09.2026 Введение Слайды ДЗ 1 23.09.2026, 23:59 30.09.2026, 23:59
2 15.09.2026 Функции, типы, пакеты и память Слайды ДЗ 2 30.09.2026, 23:59 07.10.2026, 23:59
3 22.09.2026 Коллекции, строки и данные Слайды ДЗ 3 07.10.2026, 23:59 14.10.2026, 23:59

Даты в последних двух колонках соответствуют ступеням 1.0 и 0.5 в настройках курса. Актуальную доступность задачи и коэффициент за срок сдачи смотрите в Manytask.

Система оценки

Итоговая оценка

Оитог = 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 задания;
  • способность студента объяснить, как работает его код.