Перейти до вмісту
Система сертифікації ІТ-дисциплін
Система сертифікації ІТ-дисциплін
  • Головна
  • Для ІТ-спеціалістів
  • Для викладачів
  • Силабуси
  • Пілот проєкту
  • Приєднатись до Kharkiv IT Cluster

Вивчення GoLang

Home / / Вивчення GoLang

Розробники та рецензенти

Заклад вищої освіти:

Компанія-рецензент 1:

Компанія-рецензент 2:

Валідація:

Опис зображення
Розробник навчальної програми:

Олійник Олена Володимирівна — старший викладач кафедри «Програмної інженерії» Харківського національного університету радіоелектроніки

Базова інформація

Шифр та назва спеціальності:
121 - Програмна інженерія
Назва освітньо-наукової програми
Програмна інженерія
Назва дисципліни
Вивчення GoLang
Вид дисципліни
Основна
Блок дисципліни
Алгоритмізація і програмування
Кількість студентів
Курс/Семестр
8

Загальна інформація про дисципліну

Анотація
Golang (Go) – це мова програмування народжена всередині Google, дизайн якої, базується на принципі KISS. Go – сучасна мова програмування, призначена для розробки висококонкурентних додатків, що працюють на багатопроцесорних системах. Go підтримує типобезпеку, можливість динамічного введення даних, а також містить багату стандартну бібліотеку функцій і вбудовані типи даних на зразок масивів з динамічним розміром і асоціативних масивів. За допомогою механізмів багато поточності Go спрощує розподіл обчислень і мережевої взаємодії, а сучасні типи даних відкривають програмісту світ гнучкого і модульного коду. Курс «Вивчення Golang» дасть основи програмування на мові Go, а так само досвід застосування мови в основних завданнях, які зустрічаються сьогодні в серверній веброзробці.
Анотація
Метою дисципліни є вивчення основ синтаксису та керуючих структур мови Golang, внутрішніх механізмів, реальних кейсів перекладу на стек мови Golang з інших технологічних стеків (PHP, C #, JavaScript) великих високонавантажених проектів, реальних проблем і їх рішень, з якими зіткнулися програмісти при роботі з Go, застосуванні моделей паралелізму Go для побудови масово паралельних систем, розуміння призначення типів, організуванні коду за допомогою пакетів.
Анотація
Лекції, лабораторні роботи, самостійна робота. Підсумковий контроль – іспит
Розподіл часу
Загальний обсяг (кредитів): 5; Лекції (занять): 15; Лабораторні (занять): 5; Практичні (занять): 5; Самостійна робота (годин): 90
Попередні дисципліни
Основи програмування, Архітектура комп’ютера та організація комп’ютерних мереж, Алгоритми та структури даних, Бази даних, Паралельне програмування, Скриптові мови програмування
Матеріально-технічне та програмне забезпечення дисципліни
Комп'ютер з встановленим компілятором для мови GoLang та будь-яким текстовим редактором, або з середовищем розробки для GoLang
Структура дисципліни
Тема 1 – Основи мови GoLang Основи синтаксису та структура програми в Go.
  1. Структура програми. Основні конструкції: лінійна, розгалужена, циклічна.
  2. Змінні: іменування, ініціалізація, час життя. Покажчики.
  3. Збірник мусору.
  4. Пакети та файли
  5. defer та його використання під час журналювання.
Концепція типів даних. Організація даних.
  1. Числові типи даних: цілі, з плаваючою крапкою, комплексні числа, булеві значення.
  2. Рядки: рядкові літерали, unicode, перетворення між рядками та числами.
  3. Константи: генератор iota, нетипізовані константи.
Структурування даних
  1. Масиви, зрізи, відображення.
  2. Структури: створення, ініціалізація, експорт, інкапсуляція та вбудовування.
  3. Типи даних користувача. Регулярні вирази.
  4. JSON. Текстові та HTML-шаблони.
Тема 2 – Структурування програми в GoLang Функції та методи
  1. Функції: об’явлення, рекурсія, множинні значення.
  2. Помилки. Анонімні та варіативні функції.
  3. Паніки. Відновлення.
  4. Методи. Значення-методи та вирази-методи. Інкапсуляція.
Інтерфейси
  1. Типи інтерфейсів.
  2. Інтерфейси користувача.
  3. Відображення.
  4. Основи git та GitHub.
Пакети
  1. Об’явлення, імпорт та іменування пакетів.
  2. Завантаження та побудова пакетів.
  3. Документування пакетів.
  4. Go-модулі.
Тема 3 – Конкурентність в Go Підпрограми, канали та конвеєри
  1. Go-підпрограми.
  2. Канали: запис в канал, читання з каналу, канали як аргументи функції.
  3. Конвеєри. Стан гонки.
  4.  Паралельність та спільно використовувані змінні.
Паралельність
  1. Планувальник Go.
  2. Типи каналів: сигнальні, буферізовані, нульові, канали каналів.
  3. Загальна пам’ять та загальні змінні.
Тестування
  1. Оптимізація коду Go.
  2. Профілювання коду.
  3. Тестування коду.
  4. Генерація документації.
Тема 4 – Основи мережевого програмування Основи створення веб-додатків
  1. Браузери, запити, сервери та відповіді.
  2. Утиліта командного рядка.
  3. Виконання DNS-пошуку.
Створення веб-сервера
  1. Шаблони HTML.
  2. Профілювання HTTP-сервера.
  3. Створення веб-сайту на Go.
  4. HTTP-трасування.
Створення веб-клієнта
  1. Створення та удосконалення веб-клієнта.
  2. Затримки HTTP-з’єднання.
  3. Go та gRPC
Тема 5 – Технології мережевого програмування Робота с HTTPS-трафіком
  1. Створення сертифікатів.
  2. HTTP-клієнт.
  3. Простий HTTP-сервер.
  4. Розробка TLS-сервера та TLS-клієнта.
  5. Стандартний Go-пакет net.
ТСР-клієнт та TCP-сервер
  1. ТСР-клієнт.
  2. ТСР-сервер.
  3. Конкурентний ТСР-сервер.
  4. Дистанційний виклик процедур.
Сучасні тенденції розвитку Go
  1. Рефлексія.
  2. Низькорівневе програмування.
  3. Машинне навчання.
Теми та завдання для самостійної роботи
  1. GoLang та різні платформи створення програмного забезпечення. Підсумковий тест. 5% питань підсумкового тесту.
  2. Пакети, функції, типи даних, змінні та константи. Пз-1, Лр-1, Лр-2 - теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  3. Основні мовні конструкції. Пз-1, Лр-1, Лр-2 - теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  4. Організація даних. Пз-1, Лр-1, Лр-2 - теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  5. Структурування програм: функції. Пз-1, Лр-1, Лр-2 - теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  6. Структурування програм:  методи та інтерфейси. Пз-1, Лр-1, Лр-2 - теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  7. Багатопоточність. Пз-2, Лр-3 -  теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  8. Помилки, паніки, відновлення. Пз-2, Лр-3 -  теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  9. Створення та імпорт пакетів. Пз-2, Лр-3 -  теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  10. Основи створення веб-додатків.  Пз-3, Лр-4, Лр-5 -  теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  11. Шаблони, редагування, валідація даних у веб-додатках. Пз-3, Лр-4, Лр-5 -  теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  12. Конектування з різними базами даних. Пз-3, Лр-4, Лр-5 -  теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  13. Мережеве програмування. Пз-3, Лр-4, Лр-5 -  теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  14. Роути, моделі, фронтенд. Пз-3, Лр-4, Лр-5 -  теоретична частина захисту робіт. 50% оцінки при захисті даних робіт.
  15. Сучасні тенденції розвитку GoLang. Підсумковий тест. 5% питань підсумкового тесту.
Проєкт
Рекомендовані джерела інформації та навчальні матеріали
  1. А. Донован, Б.У.Керниган Язык программирования Go. - 978-617-7812-22-6 изд. - Киев: Диалектика, 2019.
  2. Цукалос Михалис. Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go. — СПб.: Питер, 2020. — 720 с.: ил.
  3. Батчер М., Фарина М. Go на практике. - 978-5-97060-477-9 изд. - Харьков: ДМК-пресс, 2017. - 374 с.
  4. Марк Саммерсфильд Программирование на языке Go. - 978-5-97060-338-3 изд. - Харьков: ДМК-пресс, 2016. - 550 с
  5. William KennedyBrian KetelsenErik St. Martin Go in Action. - 978-1617291784 изд. Manning Publications Co., 2015. - 264 с.
  6. Калеб Докси ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ НА GO. 2015. - 90 с.
  7. Макгаврен Джей. Изучаем Go. — СПб.: Питер, 2020. — 544 с.: ил
  8. Блог о языке программирования Go  https://golang-blog.blogspot.com/p/go-essentials.html
  9. Tproger. GoLang: основы для начинающих. https://tproger.ru/translations/golang-basics/
  10. https://metanit.com/go/tutorial/1.1.php
Контрольні заходи
Захист завдання з практичного заняття. Захист завдання з лабораторної роботи Іспит (підсумковий тест) Підсумкова оцінка
Результати навчання
За результатом вивчення дисципліни студенти повинні: знати: - основні поняття мови GоLang; - методи та форми типізації даних; - принципи та методи структурування програм; - методи створення типів користувача; - методи паралельного програмування в GоLang; - методи використання помилок та панік при відновлені роботи програм; - методи проектування програмного забезпечення засобами GoLang; - принципи та технології веб-програмування GoLang; - принципи та технології конектування з базами даних в GoLang; - принципи та технології мережевого програмування в GoLang; - особливості використання інших технологічних стеків (PHP, C #, JavaScript) великих високонавантажених проектів; - принципи застосування моделей паралелізму Go для побудови масово паралельних систем вміти: - формувати концепт програмного забезпечення, виходячи з технічного завдання; - розробляти та структурувати програмне забезпечення мовою GoLang; - розробляти програмне забезпечення з використанням технологій паралельного програмування GoLang; - розробляти веб-застосування з використанням технологій GoLang; - проводити конектування розробленого програмного забезпечення з різними базами даних.

Зв'язок з ринком праці

Спеціальність/професія, підготовці до діяльності в якій читається курс:
Розробник серверної частини
Посилання на вакансії (понад 3),
Перелік компетентностей із вказаних як вимоги до вакансії, які набувають студенти, в процесі проходження дисципліни.

Інструменти оцінювання результатів навчання за дисципліною

Захист завдання з практичного заняття: Усний контроль. Мінімальна оцінка для зарахованого захисту 3,6 балів, максимальна - 6 балів. Мінімальна оцінка за всі Пз - 18 балів, максимальна - 30 балів. Захист завдання з лабораторної роботи: Усний контроль. Мінімальна оцінка для зарахованого захисту 7,2 бали максимальна оцінка 12 балів. Мінімальна оцінка за всі Лр - 36 балів, максимальна 70 балів. Іспит (підсумковий тест): Комп’ютерне опитування. Менше 60% правильних відповідей - тест не зараховано. Від 60% до 100% - тест зараховано. Мінімальна оцінка за тест - 60 балів, максимальна 100 балів Підсумкова оцінка: 0,6*(сума оцінок за Пз та Лр)+0,4*оцінку з підсумкового тесту.

Залишити відповідь Скасувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Недавні записи

  • Організаційна зустріч 23.06.2025
  • Старт нового сезону сертифікації — 2025

Останні коментарі

  1. polina до Криптографія та стеганографія
  2. olena до Організаційна зустріч 23.06.2025
  3. admin до Технології розробки мобільних додатків

Категорії

  • Записи

Сторінки

  • Головна
  • Для викладачів
  • Для ІТ-спеціалістів
  • Інструкція для викладача
  • Пілот проєкту
  • Приєднатись до Kharkiv IT Cluster
  • Силабуси

Архіви

  • Організаційна зустріч 23.06.2025
  • Старт нового сезону сертифікації — 2025

Календар

Квітень 2026
Пн Вт Ср Чт Пт Сб Нд
 12345
6789101112
13141516171819
20212223242526
27282930  
« Чер    

Тема WordPress Project Management від Misbah WP | Працює на WordPress