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




Язык программирования Go
Статус:
Курс по выбору (Прикладная математика и информатика)
Кто читает:
Базовая кафедра Т-Банка
Когда читается:
3-й курс, 3, 4 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Разумов Тимофей Евгеньевич
Язык:
русский
Программа дисциплины
Аннотация
Курс "Язык программирования GO" от базовой кафедры Т-Банка предлагает участникам уникальную возможность освоить язык программирования Go, который стал популярным благодаря своей простоте и эффективности в разработке высокопроизводительных приложений. Программа курса охватывает ключевые темы, включая основы синтаксиса и семантики Go, управление памятью, работу с параллелизмом и создание веб-сервисов.
Участники изучат такие аспекты, как структуры данных, обработка ошибок, использование пакетов и библиотек, а также принципы разработки RESTful API. Курс включает практические задания и проекты, что позволяет закрепить теоретические знания и развить навыки программирования в реальных условиях.
Цель освоения дисциплины
- Освоение синтаксиса и основ языка: Студенты должны овладеть базовым синтаксисом Go, включая типы данных, операторы, функции и структуры, что позволит им писать простые программы.
- Разработка эффективного и читаемого кода: Студенты должны научиться применять лучшие практики программирования, такие как структурирование кода, использование комментариев и соблюдение стиля, чтобы создавать чистый и поддерживаемый код.
- Понимание принципов конкурентного программирования: Студенты должны изучить концепции параллелизма и конкурентного программирования в Go, чтобы уметь эффективно использовать горутины и каналы для создания высокопроизводительных приложений.
- Работа с экосистемой Go: Студенты должны ознакомиться с инструментами и библиотеками экосистемы Go, включая управление зависимостями, тестирование и отладку, что позволит им эффективно разрабатывать и поддерживать проекты.
- Создание веб-приложений и API: Студенты должны научиться проектировать и реализовывать веб-приложения и RESTful API на Go, освоив обработку HTTP-запросов, работу с базами данных и обмен данными в формате JSON.
Планируемые результаты обучения
- Решает алгоритмические задачи с помощью языка Go
- Умеет объяснять основные конструкции языка, включая типы данных, управляющие структуры, функции и методы, а также использовать их для написания простых программ.
- Умеет разрабатывать, компилировать и отлаживать приложения на Go, используя инструменты и среды разработки, а также применять методы тестирования для обеспечения качества кода.
- Умеет эффективно использовать стандартную библиотеку Go и сторонние пакеты для решения практических задач, включая работу с сетевыми протоколами, файловой системой и базами данных.
- Освоил концепции параллелизма и конкурентного программирования в Go, включая использование горутин и каналов для создания высокопроизводительных приложений.
- Умеет проектировать и реализовывать RESTful API с использованием Go, включая обработку HTTP-запросов, работу с JSON и управление маршрутизацией, что позволит им создавать веб-приложения и сервисы.
Содержание учебной дисциплины
- Введение в Go
- Структуры данных и работа с памятью
- Интерфейсы и обработка ошибок
- Асинхронная модель
- Паттерны разработки
- Go-модули и чистая архитектура
- Углублённая работа с типами и конфигурация приложений
- Основы веб-разработки
- Углублённая веб-разработка
- Тестирование
- Базы данных
- Применение Go в различных областях
Промежуточная аттестация
- 2024/2025 4th moduleСумма оценок по всем домашним заданиям. Делим полученные баллы на 10, получаем оценку
Список литературы
Рекомендуемая основная литература
- Nadareishvili, I., Mitra, R., McLarty, M., & Amundsen, M. (2016). Microservice Architecture : Aligning Principles, Practices, and Culture: Vol. First edition. O’Reilly Media.
- Базы данных. Теория и практика : учебник, Советов Б.Я., Цехановский В.В., 2007
- Кочер, П. С. Микросервисы и контейнеры Docker : руководство / П. С. Кочер , перевод с английского А. Н. Киселева. — Москва : ДМК Пресс, 2019. — 240 с. — ISBN 978-5-97060-739-8. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/123710 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Основы многопоточного, параллельного и распределенного программирования, Эндрюс, Г. Р., 2003
- Язык программирования Go : пер. с англ., Донован, А. А. А., 2018
Рекомендуемая дополнительная литература
- Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go - 978-5-4461-1617-1 - Михалис Цукалос - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/371744 - 371744 - iBOOKS