Программирование на Go весна 2025 — различия между версиями

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Общие сведения)
(не показано 18 промежуточных версий 3 участников)
Строка 1: Строка 1:
 
= Общие сведения =
 
= Общие сведения =
* Семестр: весенний семестр 2025
+
Семестр: весенний семестр 2025.
* Формы контроля: 11 домашних заданий
 
* '''[https://forms.gle/FTytf6JSY56wjC4G6 Форма регистрации на курс]'''
 
* [ План лекций, семинаров, домашних работ]
 
* [ Таблица с оценками]
 
* [ Telegram-чат курса]
 
  
=== Материалы занятий ===
+
Форма контроля: 11 домашних заданий (автопроверка + ревью)
* [ Видеозаписи занятий]
 
* [ Коды и презентации занятий]
 
  
===== Домашние задания =====
+
=== Регистрация ===
* [ Домашние задания]
+
Ограничений по регистрации на курс нет. Для обратной связи по домашним заданиям регистрация обязательна.
* [ Продление дедлайнов]
+
* '''[https://forms.gle/FTytf6JSY56wjC4G6 Форма регистрации на курс]'''
  
[ Ассистентам курса: Code review и дополнительные соглашения]
+
=== Программа и материалы ===
  
= Преподаватели =
+
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vQjU5N1eiwoPl7ZeGbjh5uf7H0Oqxxz7zqTmC2-VPRv7ALHlgQXzB9bcClHhXpF00NrUgDUlGcILl0M/pubhtml?gid=528175599&single=true План лекций, семинаров, домашних работ]
* '''Руководитель курса'''
+
* [https://plvideo.ru/playlist?list=pTt1ptryzuBp Видеозаписи занятий]
**
+
* [https://gitlab.atp-fivt.org/courses-public/golang/golang-2024s/go Коды и презентации занятий]
 +
 
 +
=== Чат ===
 +
 
 +
* [https://t.me/+kSg2lDTpeRY1YmNi Telegram-чат курса]
  
* '''Учебные ассистенты'''
+
= Домашние задания и оценки =
 +
=== Задания ===
 +
Всего 11 домашних заданий (блоков задач). Данные и описание всех задач по ссылке:
 +
* [https://gitlab.atp-fivt.org/courses-public/golang/golang-2024s/go Домашние задания]
  
 +
Проверка: автоматические тесты. Задания '''basics''', '''goroutines''' и '''gitfame''' также проверяются ассистентами, по ним будет ''code review''.
  
= Критерии получения оценки =
 
Количество баллов за выполнение домашних заданий курса.
 
 
{|  class="wikitable"
 
{|  class="wikitable"
 
|-  
 
|-  
! Процент набранных баллов
+
! Название
! Оценка
+
! Задачи
 +
! Дедлайн
 +
|-
 +
| Дз 1. helloworld || sum, tour0, wordcount, urlfetch, fetchall || 26.02.25
 +
|-
 +
| Дз 2. basics (''review'') || hotelbusiness, hogwarts, utf-8, varfmt, speller, forth || 05.03.25
 +
|-
 +
| Дз 3. interfaces || otp, lrucache, externalsort, retryupdate, ciletters || 12.03.25
 
|-
 
|-
| 50-56% || 3
+
| Дз 4. goroutines (''review'') || tour1, once, rwmutex, waitgroup, cond, ratelimit || 19.03.25
 
|-
 
|-
| 56-62% || 4
+
| Дз 5. testing || testequal, fileleak, tparallel || 26.03.25
 
|-
 
|-
| 62-68% || 5
+
| Дз 6. gitfame (''review'') || gitfame || 02.04.25
 
|-
 
|-
| 68-74% || 6
+
| Дз 7. shmem || dupcall, keylock, batcher, pubsub || 26.04.25
 
|-
 
|-
| 74-80% || 7
+
| Дз 8. http || urlshortener, digitalclock, middleware, olympics, firewall || 23.04.25
 
|-
 
|-
| 80-86% || 8
+
| Дз 9. generics || genericsum, treeiter || 07.05.25
 
|-
 
|-
| 86-92% || 9
+
| Дз 10. reflect || reversemap, jsonlist, jsonrpc, structtags || 14.05.25
 
|-
 
|-
| 92-100% || 10
+
| Дз 11. lowlevel || illegal, blowfish || 20.05.25
 
|}
 
|}
  
== Домашние задания ==
+
=== Баллы ===
Планируется 11 домашних заданий.
 
  
Проверка: автоматические тесты, затем code review (при желании).
+
* Каждое отдельно верно выполненная задача оценивается в 1 балл
 +
* За успешное ревью кода также начисляется +1 балл, однако множитель за задачу с ревью равен 0.5, то есть суммарно за задачу с ревью 1 балл.
 +
* Штраф за опоздание по дедлайну: -50%
 +
* [https://docs.google.com/spreadsheets/d/e/2PACX-1vQjU5N1eiwoPl7ZeGbjh5uf7H0Oqxxz7zqTmC2-VPRv7ALHlgQXzB9bcClHhXpF00NrUgDUlGcILl0M/pubhtml?gid=218390600&single=true Таблица с баллами]
 +
* [https://forms.gle/kxzat6UgMmxiy7E68 Продление дедлайнов]
  
 +
Ассистентам курса: [https://gitlab.atp-fivt.org/courses-public/golang/golang-2024s/code-style Code review и дополнительные соглашения]
 +
 +
=== Критерии получения оценки ===
 +
 +
Зачетная оценка за курс формируется из количества баллов за выполнение домашних заданий по следующим критериям:
 
{|  class="wikitable"
 
{|  class="wikitable"
 
|-  
 
|-  
! Название
+
! Процент набранных баллов
! Задачи
+
! Оценка
! Дедлайн
 
 
|-
 
|-
| Дз 1. helloworld || sum, tour0, wordcount, urlfetch, fetchall ||  
+
| 50-56% || 3
 
|-
 
|-
| Дз 2. basics || hotelbusiness, hogwarts, utf-8, varfmt, speller, forth ||  
+
| 56-62% || 4
 
|-
 
|-
| Дз 3. interfaces || otp, lrucache, externalsort, retryupdate, ciletters ||  
+
| 62-68% || 5
 
|-
 
|-
| Дз 4. goroutines || tour1, once, rwmutex, waitgroup, cond, ratelimit ||  
+
| 68-74% || 6
 
|-
 
|-
| Дз 5. testing || testequal, fileleak, tparallel ||  
+
| 74-80% || 7
 
|-
 
|-
| Дз 6. gitfame || gitfame ||  
+
| 80-86% || 8
 
|-
 
|-
| Дз 7. shmem || dupcall, keylock, batcher, pubsub ||  
+
| 86-92% || 9
 
|-
 
|-
| Дз 8. http || urlshortener, digitalclock, middleware, olympics, firewall ||
+
| 92-100% || 10
|-
 
| Дз 9. generics || genericsum, treeiter ||
 
|-
 
| Дз 10. reflect || reversemap, jsonlist, jsonrpc, structtags ||
 
|-
 
| Дз 11. lowlevel || illegal, blowfish ||
 
 
|}
 
|}
  
Штраф за опоздание по дедлайну: -50%
+
= Преподаватели и контакты =
 +
* '''Руководитель курса'''
 +
**  Леонид Иванов
 +
 
 +
* '''Лектор'''
 +
**  Павел Косицын
 +
 
 +
* '''Учебные ассистенты'''
 +
**  Цой Максим Вячеславович [https://t.me/tsmax2004 @tsmax2004]
 +
**  Шапка Павел Александрович [https://t.me/shapkapavel @shapkapavel]
 +
**  Савинов Алексей Игоревич [https://t.me/divanlitva @divanlitva]
 +
**  Кузин Роман Вадимович [https://t.me/dvinyatinfedor @dvinyatinfedor]
 +
**  Сахаров Александр Александрович [https://t.me/sshuron @sshuron]
 +
**  Алёшин Даниил Андреевич [https://t.me/glhfuck @glhfuck]
 +
**  Решетникова Дарья Дмитриевна [https://t.me/obvallata @obvallata]
 +
**  Даулетбеков Тимур [https://t.me/loreAdopt @loreAdopt]
 +
 
 +
* '''Орг вопросы'''
 +
**  Куратор кафедры АТП [https://t.me/atpfpmi_curators @atpfpmi_curators]
  
* [ Домашние задания]
+
* '''Технические проблемы с репозиториями'''
* Сдача домашних заданий
+
**  Администратор инфраструктуры АТП servers@atp-fivt.org
  
 
= Литература =
 
= Литература =

Версия 18:31, 25 февраля 2025

Общие сведения

Семестр: весенний семестр 2025.

Форма контроля: 11 домашних заданий (автопроверка + ревью)

Регистрация

Ограничений по регистрации на курс нет. Для обратной связи по домашним заданиям регистрация обязательна.

Программа и материалы

Чат

Домашние задания и оценки

Задания

Всего 11 домашних заданий (блоков задач). Данные и описание всех задач по ссылке:

Проверка: автоматические тесты. Задания basics, goroutines и gitfame также проверяются ассистентами, по ним будет code review.

Название Задачи Дедлайн
Дз 1. helloworld sum, tour0, wordcount, urlfetch, fetchall 26.02.25
Дз 2. basics (review) hotelbusiness, hogwarts, utf-8, varfmt, speller, forth 05.03.25
Дз 3. interfaces otp, lrucache, externalsort, retryupdate, ciletters 12.03.25
Дз 4. goroutines (review) tour1, once, rwmutex, waitgroup, cond, ratelimit 19.03.25
Дз 5. testing testequal, fileleak, tparallel 26.03.25
Дз 6. gitfame (review) gitfame 02.04.25
Дз 7. shmem dupcall, keylock, batcher, pubsub 26.04.25
Дз 8. http urlshortener, digitalclock, middleware, olympics, firewall 23.04.25
Дз 9. generics genericsum, treeiter 07.05.25
Дз 10. reflect reversemap, jsonlist, jsonrpc, structtags 14.05.25
Дз 11. lowlevel illegal, blowfish 20.05.25

Баллы

  • Каждое отдельно верно выполненная задача оценивается в 1 балл
  • За успешное ревью кода также начисляется +1 балл, однако множитель за задачу с ревью равен 0.5, то есть суммарно за задачу с ревью 1 балл.
  • Штраф за опоздание по дедлайну: -50%
  • Таблица с баллами
  • Продление дедлайнов

Ассистентам курса: Code review и дополнительные соглашения

Критерии получения оценки

Зачетная оценка за курс формируется из количества баллов за выполнение домашних заданий по следующим критериям:

Процент набранных баллов Оценка
50-56% 3
56-62% 4
62-68% 5
68-74% 6
74-80% 7
80-86% 8
86-92% 9
92-100% 10

Преподаватели и контакты

  • Руководитель курса
    • Леонид Иванов
  • Лектор
    • Павел Косицын
  • Учебные ассистенты
    • Цой Максим Вячеславович @tsmax2004
    • Шапка Павел Александрович @shapkapavel
    • Савинов Алексей Игоревич @divanlitva
    • Кузин Роман Вадимович @dvinyatinfedor
    • Сахаров Александр Александрович @sshuron
    • Алёшин Даниил Андреевич @glhfuck
    • Решетникова Дарья Дмитриевна @obvallata
    • Даулетбеков Тимур @loreAdopt
  • Технические проблемы с репозиториями
    • Администратор инфраструктуры АТП servers@atp-fivt.org

Литература

Основная литература

  1. The Go Programming Language, Alan A. A. Donovan and Brian W. Kernighan, 2015, Addison-Wesley

Полезные ссылки

  1. Введение в язык от разработчиков языка
  2. Гайд от разработчиков языка о том, как писать код
  3. Простые примеры по любым темам языка
  4. Блог от разработчиков с новостями о языке
  5. Issues в сам язык Go - отличный инструмент, чтобы понимать почему так все устроено в языке, какие идеи сейчас есть