Go programming language

Data is displayed for academic year: 2023./2024.

Course Description

Course Title The Go programming language skill offers students the opportunity to learn the Go programming language and to acquire the knowledge necessary to create and deliver applications written in the Go programming language. Students will learn to install and work in an program environment needed for the development of applications written in the Go programming language within the Visual Studio Code editor and operating system of their preference. Basic concepts of the Go programming language and specifics that make Go the language of choice for developing general applications will be addressed.

Study Programmes

University undergraduate
Skills (4. semester) (6. semester)
Skills (4. semester) (6. semester)
[FER2-HR] Computer Engineering - module
Skills (6. semester)
[FER2-HR] Computer Science - module
Skills (6. semester)
[FER2-HR] Computing - study
Skills (4. semester)
[FER2-HR] Control Engineering and Automation - module
Skills (6. semester)
[FER2-HR] Electrical Engineering and Information Technology - study
Skills (4. semester)
[FER2-HR] Electrical Power Engineering - module
Skills (6. semester)
[FER2-HR] Electronic and Computer Engineering - module
Skills (6. semester)
[FER2-HR] Electronics - module
Skills (6. semester)
[FER2-HR] Information Processing - module
Skills (6. semester)
[FER2-HR] Software Engineering and Information Systems - module
Skills (6. semester)
[FER2-HR] Telecommunication and Informatics - module
Skills (6. semester)
[FER2-HR] Wireless Technologies - module
Skills (6. semester)
University graduate
[FER3-HR] Computing - study
Skills (2. semester)
[FER3-HR] Electrical Engineering and Information Technology - study
Skills (2. semester)
[FER3-HR] Information and Communication Technology - study
Skills (2. semester)
[FER2-HR] Computer Engineering - profile
Skills (2. semester)
[FER2-HR] Computer Science - profile
Skills (2. semester)
[FER2-HR] Control Engineering and Automation - profile
Skills (2. semester)
[FER2-HR] Electrical Engineering Systems and Technologies - profile
Skills (2. semester)
[FER2-HR] Electrical Power Engineering - profile
Skills (2. semester)
[FER2-HR] Electronic and Computer Engineering - profile
Skills (2. semester)
[FER2-HR] Electronics - profile
Skills (2. semester)
[FER2-HR] Information Processing - profile
Skills (2. semester)
[FER2-HR] Software Engineering and Information Systems - profile
Skills (2. semester)
[FER2-HR] Telecommunication and Informatics - profile
Skills (2. semester)
[FER2-HR] Wireless Technologies - profile
Skills (2. semester)

Forms of Teaching

Week by Week Schedule

  1. Introduction to Go, mainf features and advantages over the similar programming languages
  2. Setting up the development environment, installing the Go programming language and integrating it into Visual Studio Code, Go toolchain commands
  3. Variables, values and data types available in the Go programming language
  4. Flow control, conditions, loops, use of specific data structures available in the Go programming language, data grouping, structures, functions, pointers, interfaces
  5. Flow control, conditions, loops, use of specific data structures available in the Go programming language, data grouping, structures, functions, pointers, interfaces
  6. Managing standardized JSON and XML data types
  7. Concurrency paradigms in Go, channels, mutexes
  8. Concurrency paradigms in Go, channels, mutexes
  9. Error and Exception Management
  10. Documenting via the Go programming language toolchain
  11. Testing and performance tests using the Go programming language toolchain
  12. Serverless delivery of applications written in the Go programming language
  13. Final project
  14. Final project
  15. Final project

Literature

Alan A. A. Donovan, Brian W. Kernighan (2015.), The Go Programming Language, Addison-Wesley Professional
Mat Ryer (2016.), Go Programming Blueprints - Second Edition,
(.), The Go programming language documentation, https://golang.org/doc/,

For students

General

ID 209972
  Summer semester
3 ECTS
L2 English Level
L1 e-Learning
15 Lectures
0 Seminar
30 Exercises
0 Laboratory exercises
0 Project laboratory
0 Physical education excercises

Grading System

Excellent
Very Good
Good
Sufficient