Go

Description

Go is an open-source programming language introduced by Google that seeks to improve and simplify upon existing languages such as Java or C++ to improve developer productivity. By simplifying processes such as garbage collection, concurrency, type safety and performance Go, aims to help developers achieve the same results with less effort in domains encompassing the Cloud. CLI, Web Development and DevOps.

Through this Code.Learn Go program, certified by Athens Tech College, participants will learn how to build and run Go programs and elaborate on a series of short code examples that illustrate core aspects of the language. The course then dives into the language fundamentals and continues with object-oriented capabilities. In addition, it covers in very detail the concurrency features, testing and benchmarking and includes a survey of Go standard library and best practices. The training then concludes with real-word hands-on projects.


Key Objectives

The key learning objectives of this program can be summarized as follows:

  • Development environment & Introduction (e.g. resources, overview of language characteristics, comparison against competitive alternatives)
  • Overview of language features with short code examples
  • Programming fundamentals (e.g. variables, constants, Booleans, numbers, Strings)
  • Collection types (e.g. arrays, slices, maps)
  • Flow control, Error handling
  • Functions, Methods
  • Object oriented aspects (e.g. key concepts, custom types, overriding methods, interfaces)
  • Concurrent programming (Goroutines, channels, ranging over channels)
  • Worker pools
  • WaitGroups
  • Defer
  • Spawning processes
  • Signals
  • File handling (json, xml, Go binary files, custom, archive)
  • Creating custom Packages
  • Go commands
  • Go Design Patterns
  • gRPC
  • Testing
  • Microservices basics
  • Intro to distributing services
  • Tips and tricks – best practices
  • Hands-on project: Restful application

Target Audience

Higher education graduates in one of the following fields:

  • Computer Science
  • Ιnformatics
  • Software Engineering
  • Web and Mobile Development
  • Computer Engineering
  • or any other relevant area

Prerequisite Knowledge

No prerequisite knowledge is required.


Classroom

Sessions can be carried out:

  • Live in a physical classroom
  • Live online through video conferencing environments
  • Using a Hybrid combination of both live physical and online approaches

The teaching method will depend on the conditions at the time the training will run and on the participants’
preferences.

  • PREMISES: Code.Hub Training Center Leof. Alexandras 205, Athina 115 23