Learn how to implement concurrent programming in Go. Explore the roles of channels and goroutines in implementing concurrency. Topics include writing goroutines and implementing channels for communications between goroutines. Course activities will allow you to exercise Go’s capabilities for concurrent programming by developing several example programs.
MODULE 1: Why Use Concurrency?
This course introduces the concept of concurrency in Go. The first module sets the stage by reviewing the physical factors that can restrict microprocessor performance increases in the future.
MODULE 2: CONCURRENCY BASICS
This module looks at basic concurrency concepts and race conditions in preparation for a discussion of threads coming up in the next module.
MODULE 3: THREADS IN GO
In this module, you’ll work with threaded goroutines and explore the benefits of synchronization. The week’s assignment has you using a threaded approach to create a program that sorts integers via four separate sub-arrays, then merging the arrays into a single array.
MODULE 4: SYNCHRONIZED COMMUNICATION
This last module ties together the various features – including threads, concurrency, and synchronization – covered in this course. The week’s programming assignment requires you to use concurrent algorithms in the implementation of the “dining philosopher’s problem and then address the ensuing synchronization issues.
D4r9k completed this course, spending 5 hours a week on it and found the course difficulty to be medium.
The course is for intermediate student with already programming knowledge. If you don't care the certificate just follow and practice this guide https://tour.golang.org . Low response in the forums. Weird assignments sometimes with not clear instructions.