Бакалавриат
2025/2026



Язык программирования Go
Статус:
Курс по выбору (Прикладная математика и информатика)
Кто читает:
Базовая кафедра Яндекс
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Контактные часы:
56
Программа дисциплины
Аннотация
Курс предназначен для разработчиков, которые хотят изучить современный язык программирования Go с нуля или углубить существующие знания. Go сочетает простоту синтаксиса с мощными возможностями для создания эффективных concurrent программ и высоконагруженных систем. Курс следует лучшим практикам, описанным в работах Алана Донована и Брайана Кернигана.
Участники освоят базовые конструкции языка, научатся работать с горутинами и каналами, создавать HTTP-сервисы и писать качественные тесты. В рамках практических заданий студенты разработают разнообразные приложения — от утилит командной строки до простых веб-сервисов, изучат основы работы с базами данных PostgreSQL и Redis, а также освоят инструменты профилирования и мониторинга с Prometheus и Grafana. Курс будет интересен как новичкам в Go, так и опытным разработчикам, поскольку погружает в продвинутые темы: внутреннее устройство языка, reflection и статический анализ кода.
Цель освоения дисциплины
- Сформировать у слушателей системное понимание философии, синтаксиса и возможностей языка Go.
- Сформировать у слушателей системное понимание философии, синтаксиса и возможностей языка Go.
- Научить применять конкурентную модель Go (горутины и каналы) для создания эффективных параллельных программ.
- Дать практические навыки разработки полноценных приложений: от CLI-утилит и веб-сервисов до работы с базами данных.
- Обучить лучшим качествам написания чистого, эффективного и сопровождаемого кода на Go в соответствии с профессиональными стандартами.
- Познакомить с инструментами и практиками обеспечения качества: тестирование, профилирование, мониторинг
Планируемые результаты обучения
- Применять базовые и продвинутые конструкции Go для написания чистого и идиоматичного кода.
- Разрабатывать concurrent-программы, корректно используя горутины, каналы и механизмы синхронизации.
- Создавать надежные HTTP-сервисы и утилиты командной строки.
- Взаимодействовать с базами данных (PostgreSQL, Redis) и подключать мониторинг (Prometheus, Grafana).
- Писать модульные и интеграционные тесты, анализировать и оптимизировать производительность кода.
- Понимать принципы работы внутренних механизмов языка и использовать продвинутые возможности (например, reflection).
Промежуточная аттестация
- 2025/2026 2nd module0.05 * Активность на семинарах + 0.05 * Активность на семинарах + 0.3 * Домашнее задание + 0.3 * Домашнее задание + 0.3 * Экзамен
Список литературы
Рекомендуемая основная литература
- Марк, С. Программирование на Go. Разработка приложений XXI века : учебное пособие / С. Марк , перевод с английского А. Н. Киселёв. — Москва : ДМК Пресс, 2013. — 580 с. — ISBN 978-5-94074-854-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/69944 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Язык программирования Go, Донован, А. А. А., 2016
Рекомендуемая дополнительная литература
- Арипова, О. В. Программирование на языке высокого уровня: лабораторный практикум для вузов : учебное пособие / О. В. Арипова, А. Н. Гущин, О. А. Палехова. — Санкт-Петербург : БГТУ "Военмех" им. Д.Ф. Устинова, 2014. — 164 с. — ISBN 978-5-85546-841-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/63671 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Функциональное и логическое программирование : учеб. пособие, Ездаков, А. Л., 2011