• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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).
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Язык программирования Go
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание
  • неблокирующий Активность на семинарах
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 2nd module
    0.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

Авторы

  • Фисенко Анна Сергеевна