We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details

  
AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers

Programming

Go Programming

Group Training + View more dates & times

                 
Overview

This class provides students with a foundational study of the Go programming language. Classroom lectures stress the strengths of Go, which provide programmers with the means of writing scalable, maintainable, and concurrent code. Lab exercises throughout the class test and reinforce understanding of the concepts.

Cumulative graded assessments available for group training.

Duration

40 hours

Who Should Take This Course

Audience

This class is intended for developers with programming language experience. This class is not designed for students who are completely new to programming; it is targeted at developers with proficiency in at least one other language (C, Python, Java, etc.).

Prerequisites

Students should have completed our Python Programming class or have equivalent experience with a programming language.

Why You Should Take This Course

Upon completion of this class, students will be able to accomplish the following in Go:
● Build and run Go programs
● Use correct Go syntax and style in Go programs
● Create and call functions
● Define and manipulate custom types
● Author, run, and maintain unit tests and benchmarks
● Debug the behavior of a running program
● Build packages, modules, and repositories
● Template generic functions to avoid repetition
● Write concurrent programs using goroutines
● Perform I/O on files, network sockets, and other data sources
● Customize a simple webserver
● Integrate with third-party libraries in other compiled languages

Schedule
Course Outline
  1. Go Fundamentals
  • Syntax
  • Predeclared Types
  • Control Flow
  • Pointers
  • Using Packages
  1. Composite Types and Interfaces
  • Type Declarations
  • Arrays and Maps
  • Slices
  • Channels
  • Structs
  • Methods
  • Interfaces
  1. Testing, Debugging, and Profiling
  • Unit Testing with testing
  • Fuzz Testing
  • Benchmarking
  • Debugging with Delve
  1. Building, Packaging, and Distribution
  • System Layout
  • Modules and go.mod
  • Project Layout
  • Dependencies and Versioning
  • Publishing
  • Build Constraints/Tags
  1. Generics
  • Constraints
  • Instantiation
  1. Goroutines and Concurrency
  • Goroutines
  • Concurrent-Safe Channels
  • Synchronization Primitives
  • Data Races
  • Context Interface
  1. System Interaction
  • System Calls
  • unsafe Package
  1. Network Programming in Go
  • DNS and Name Resolution
  • Dialing Out
  • Listening, Streaming Style
  • Listening, Datagram Style
  • net/http Package
  1. Library Integration
  • Importing the C Package
  • Strings
FAQs
  • Is there a discount available for current students?UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Asynchronous courses are excluded from this offer.
  • What is the cancellation and refund policy?Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.
  • What is Live Online training?Classes marked Live Online have the same content and expert instructors as our classroom training, but are delivered entirely online through our virtual classroom environment. Each class session is live, and led by an Instructor.

Contact Us