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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Добавлены правила оценки)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
Чат курса: TODO
+
Чат курса: https://t.me/+Nz_xurGoIzhhOWMy
  
 
== Преподаватели ==
 
== Преподаватели ==
Строка 14: Строка 14:
 
== Материалы курса ==
 
== Материалы курса ==
  
* [TODO Репозиторий с лекциями и заданиями]
+
* [https://gitlab.manytask.org/hse/go/public-2025-fall Репозиторий с лекциями и заданиями]
* [TODO Manytask]
+
* [https://app.manytask.org/hse-go-2025-fall/ Manytask]
 +
* [https://disk.yandex.ru/i/FIlu-TPhOVheJQ Публичные результаты]
  
 
== Лекции и ДЗ ==
 
== Лекции и ДЗ ==
Строка 21: Строка 22:
 
{| class="wikitable" style="text-align:center"
 
{| class="wikitable" style="text-align:center"
 
|-
 
|-
! № !! Дата !! Тема !! Материалы !! ДЗ !! Дедлайн
+
! № !! Дата !! Тема !! Материалы !! ДЗ !! Мягкий дедлайн !! Жесткий дедлайн
 
|-
 
|-
|| 1 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 1] || TODO
+
|| 1 || 09.09.2025 || Введение || [http://pages.manytask.org/hse/go/public-2025-fall/01-intro/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/01-Hello-World ДЗ 1] || - || 23:59 01.10.2025
 
|-
 
|-
|| 2 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 2] || TODO
+
|| 2 || 16.09.2025 || Базовые конструкции языка || [http://pages.manytask.org/hse/go/public-2025-fall/02-basics/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/02-Basics ДЗ 2] || 23:59 03.10.2025 || 23:59 07.10.2025
 
|-
 
|-
|| 3 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 3] || TODO
+
|| 3 || 23.09.2025 || Методы и Интерфейсы || [http://pages.manytask.org/hse/go/public-2025-fall/03-interfaces/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/03-Interfaces ДЗ 3] || 23:59 10.10.2025 || 23:59 17.10.2025
 
|-
 
|-
|| 4 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 4] || TODO
+
|| 4 || 30.09.2025 || Горутины и каналы || [http://pages.manytask.org/hse/go/public-2025-fall/04-goroutines/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/04-Goroutines ДЗ 4] || 23:59 17.10.2025 || 23:59 24.10.2025
 
|-
 
|-
|| 5 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 5] || TODO
+
|| 5 || 07.10.2025 || Тестирование || [http://pages.manytask.org/hse/go/public-2025-fall/05-testing/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/05-Testing ДЗ 5] || 23:59 26.10.2025 || 23:59 02.10.2025
 
|-
 
|-
|| 6 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 6] || TODO
+
|| 6 || 14.10.2025 || Modules || [http://pages.manytask.org/hse/go/public-2025-fall/06-modules/lectures.slide.html Слайды] || - || - || -
 
|-
 
|-
|| 7 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 7] || TODO
+
|| 7 || 21.10.2025 || Concurrency with Shared Memory || [http://pages.manytask.org/hse/go/public-2025-fall/07-concurrency/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/07-Concurrency-with-shared-memory ДЗ 7] || 23:59 12.10.2025 || 23:59 14.10.2025
 
|-
 
|-
|| 8 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 8] || TODO
+
|| БДЗ 1 || 24.10.2025 || gitfame || - || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/06-BHW-Gitfame/gitfame?ref_type=heads БДЗ 1] || - || 23:59 28.10.2025
 
|-
 
|-
|| 9 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 9] || TODO
+
|| 8.1 || 11.11.2025 || http (часть 1) || [http://pages.manytask.org/hse/go/public-2025-fall/08-http/lecture.slide.html Слайды] || - || - || -
 
|-
 
|-
|| 10 || TODO || TODO || [TODO Слайды] || [TODO ДЗ 10] || TODO
+
|| 8.2 || 18.11.2025 || http (часть 2) || [http://pages.manytask.org/hse/go/public-2025-fall/08-http/lecture.slide.html#14 Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/08-HTTP ДЗ 8] || 23:59 05.12.2025 || 23:59 12.12.2025
 
|-
 
|-
|| - || TODO || '''Экзамен''' || - || - || -
+
|| 9 || 20.11.2025 || database/sql || [http://pages.manytask.org/hse/go/public-2025-fall/09-sql/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/09-Database ДЗ 9] || 23:59 07.12.2025 || 23:59 14.12.2025
 +
|-
 +
|| 10 || 25.11.2025 || Generics || [http://pages.manytask.org/hse/go/public-2025-fall/10-generics/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/10-Generics ДЗ 10] || 23:59 12.12.2025 || 23:59 19.12.2025
 +
|-
 +
|| БДЗ 2 || 25.10.2025 || distbuild || - || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/BHW-02-Distbuild БДЗ 2] || - || 23:59 16.12.2025
 +
|-
 +
|| 11 || 02.12.2025 || Reflect || [http://pages.manytask.org/hse/go/public-2025-fall/11-reflect/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/11-Reflect ДЗ 11] || 23:59 19.12.2025 || 23:59 26.12.2025
 +
|-
 +
|| 12 || 09.12.2025 || Low Level || [http://pages.manytask.org/hse/go/public-2025-fall/12-lowlevel/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/12-Low-level ДЗ 12] || 23:59 26.12.2025 || 23:59 29.12.2025
 +
|-
 +
|| 13 || 16.12.2025 || Analysis || [http://pages.manytask.org/hse/go/public-2025-fall/13-analysis/lecture.slide.html Слайды] || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/13-Analysis ДЗ 13 (bonus)] || 23:59 19.12.2025 || 23:59 26.12.2025
 +
|-
 +
|| - || - || Bonus || - || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/15-Bonus ДЗ 15 (bonus)] || 23:59 19.12.2025 || 23:59 26.12.2025
 +
|-
 +
|| - || 30.12.2025 10:00 || '''Экзамен''' || - || [https://gitlab.manytask.org/hse/go/public-2025-fall/-/tree/main/Exam-1-QuizBot/quizbot?ref_type=heads Задание к экзамену] || - || 23:59 29.12.2025
 
|-
 
|-
 
|}
 
|}
Строка 89: Строка 104:
 
== Большие домашние задания (БДЗ) ==
 
== Большие домашние задания (БДЗ) ==
  
В течение курса будет '''2 больших домашних задания'''.
+
В течение курса предусмотрено '''2 больших домашних задания''' (БДЗ).
  
 
'''Особенности БДЗ:'''
 
'''Особенности БДЗ:'''
 
* Дедлайн на выполнение — '''3 недели''' с момента выдачи
 
* Дедлайн на выполнение — '''3 недели''' с момента выдачи
* Работы проверяются '''вручную преподавателями''' с подробным ревью кода
+
* Работы проверяются '''вручную преподавателями''' с подробным code review
* '''Важно:''' Оценка 1.0 от автоматических чекеров '''НЕ гарантирует''' зачет БДЗ — финальная оценка выставляется после ручной проверки
+
* '''Важно:''' Оценка 1.0 от автоматических тестов '''НЕ гарантирует''' зачет БДЗ — финальная оценка выставляется только после ручной проверки
* БДЗ учитываются при получении автомата (см. таблицу выше)
+
* Выполненные БДЗ учитываются при получении автомата (см. таблицу выше)
 +
 
 +
=== Как проверяется БДЗ ===
 +
 
 +
* Создается issue под названием "BHW-1: Check" (или "BHW-2: Check" для второго БДЗ)
 +
* Если задание зачтено:
 +
  * В issue будет оставлен комментарий о зачете
 +
  * Issue будет закрыт
 +
  * В Manytask будет выставлена оценка 5 за БДЗ
 +
* Если требуются правки:
 +
  * Issue останется открыт с комментарием о необходимых исправлениях
  
 
== Экзамен ==
 
== Экзамен ==
  
TODO: Формат и правила проведения экзамена
+
К экзамену необходимо выполнить задание, указанное в таблице выше.
 +
 
 +
'''Важно:''' Оценка 1.0 в Manytask означает только то, что задание прошло автоматическое тестирование.
 +
 
 +
Сам экзамен (30 декабря в 10:00) проходит в формате индивидуальной беседы со студентом по его решению — практически онлайн code review. Преподаватель будет задавать вопросы о решении, об используемых паттернах и оценивать работу студента на основании:
 +
* Критериев, указанных в README задания
 +
* Способности студента объяснить, как работает его код

Текущая версия на 16:27, 14 декабря 2025

Чат курса: https://t.me/+Nz_xurGoIzhhOWMy

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

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

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

Лекции и ДЗ

Дата Тема Материалы ДЗ Мягкий дедлайн Жесткий дедлайн
1 09.09.2025 Введение Слайды ДЗ 1 - 23:59 01.10.2025
2 16.09.2025 Базовые конструкции языка Слайды ДЗ 2 23:59 03.10.2025 23:59 07.10.2025
3 23.09.2025 Методы и Интерфейсы Слайды ДЗ 3 23:59 10.10.2025 23:59 17.10.2025
4 30.09.2025 Горутины и каналы Слайды ДЗ 4 23:59 17.10.2025 23:59 24.10.2025
5 07.10.2025 Тестирование Слайды ДЗ 5 23:59 26.10.2025 23:59 02.10.2025
6 14.10.2025 Modules Слайды - - -
7 21.10.2025 Concurrency with Shared Memory Слайды ДЗ 7 23:59 12.10.2025 23:59 14.10.2025
БДЗ 1 24.10.2025 gitfame - БДЗ 1 - 23:59 28.10.2025
8.1 11.11.2025 http (часть 1) Слайды - - -
8.2 18.11.2025 http (часть 2) Слайды ДЗ 8 23:59 05.12.2025 23:59 12.12.2025
9 20.11.2025 database/sql Слайды ДЗ 9 23:59 07.12.2025 23:59 14.12.2025
10 25.11.2025 Generics Слайды ДЗ 10 23:59 12.12.2025 23:59 19.12.2025
БДЗ 2 25.10.2025 distbuild - БДЗ 2 - 23:59 16.12.2025
11 02.12.2025 Reflect Слайды ДЗ 11 23:59 19.12.2025 23:59 26.12.2025
12 09.12.2025 Low Level Слайды ДЗ 12 23:59 26.12.2025 23:59 29.12.2025
13 16.12.2025 Analysis Слайды ДЗ 13 (bonus) 23:59 19.12.2025 23:59 26.12.2025
- - Bonus - ДЗ 15 (bonus) 23:59 19.12.2025 23:59 26.12.2025
- 30.12.2025 10:00 Экзамен - Задание к экзамену - 23:59 29.12.2025

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

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

Оитог = min(10, 0.6 × ДЗ + 0.1 × Семинары + 0.3 × Экзамен + 0.1 × Бонусы)

Где:

  • ДЗ — сумма баллов по всем обычным домашним заданиям относительно максимально возможной суммы, нормированная к шкале 0-10. Важно: Большие домашние задания (БДЗ) НЕ учитываются в этой сумме
  • Семинары — оценка за посещение и активность на семинарах (0-10 баллов)
  • Экзамен — оценка за итоговый экзамен (0-10 баллов)
  • Бонусы — дополнительные баллы за активность, помощь другим студентам, доклады и т.д. (0-10 баллов)

Автоматы

Итоговая оценка может быть выставлена автоматически (без сдачи экзамена) при выполнении следующих условий:

Оценка Условие ДЗ Условие БДЗ Условие Семинары
10 95% по ДЗ 1 большое ДЗ (БДЗ) 9+ баллов за семинары
10 85% по ДЗ 2 больших ДЗ (БДЗ) 9+ баллов за семинары
9 90% по ДЗ 1 большое ДЗ (БДЗ) 9+ баллов за семинары
9 80% по ДЗ 2 больших ДЗ (БДЗ) 9+ баллов за семинары
8 85% по ДЗ 1 большое ДЗ (БДЗ) 8+ баллов за семинары
8 75% по ДЗ 2 больших ДЗ (БДЗ) 8+ баллов за семинары

Важно: Для получения автомата необходимо выполнить ВСЕ условия одновременно. Проценты по ДЗ рассчитываются как отношение набранных баллов к максимально возможным.

Правила

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

Большие домашние задания (БДЗ)

В течение курса предусмотрено 2 больших домашних задания (БДЗ).

Особенности БДЗ:

  • Дедлайн на выполнение — 3 недели с момента выдачи
  • Работы проверяются вручную преподавателями с подробным code review
  • Важно: Оценка 1.0 от автоматических тестов НЕ гарантирует зачет БДЗ — финальная оценка выставляется только после ручной проверки
  • Выполненные БДЗ учитываются при получении автомата (см. таблицу выше)

Как проверяется БДЗ

  • Создается issue под названием "BHW-1: Check" (или "BHW-2: Check" для второго БДЗ)
  • Если задание зачтено:
 * В issue будет оставлен комментарий о зачете
 * Issue будет закрыт
 * В Manytask будет выставлена оценка 5 за БДЗ
  • Если требуются правки:
 * Issue останется открыт с комментарием о необходимых исправлениях

Экзамен

К экзамену необходимо выполнить задание, указанное в таблице выше.

Важно: Оценка 1.0 в Manytask означает только то, что задание прошло автоматическое тестирование.

Сам экзамен (30 декабря в 10:00) проходит в формате индивидуальной беседы со студентом по его решению — практически онлайн code review. Преподаватель будет задавать вопросы о решении, об используемых паттернах и оценивать работу студента на основании:

  • Критериев, указанных в README задания
  • Способности студента объяснить, как работает его код