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



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