- Level Professional
- Duration 9 hours
- Course by University of California, Irvine
-
Offered by
About
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.Modules
Lecture Videos
2
Videos
- M1.1.1-3v3
- M1.2.1-1v3
PowerPoint Slides for the Lectures
5
Readings
- M1.1.1 - Parallel Execution
- M1.1.2 - Von Neumann Bottleneck
- M1.1.3 - Power Wall
- M1.2.1 - Concurrent vs Parallel
- M1.2.2 - Hiding Latency
Assessments
1
Assignment
- Module 1 Quiz
1
Peer Review
- Module 1 Activity
Lecture Videos
2
Videos
- M2.1.1-3v3
- M2.2.1-2v3
PowerPoint Slides for the Lectures
5
Readings
- M2.1.1- Processes
- M2.1.2 - Scheduling
- M2.1.3 - Threads and Goroutines
- M2.2.1 - Interleavings
- M2.2.2 - Race Conditions
Assessments
1
Assignment
- Module 2 Quiz
1
Peer Review
- Module 2 Activity
Lecture Videos
3
Videos
- M3.1.1-2v3
- M3.2.1-2v3
- M3.3.1-3v3
PowerPoint Slides for the Lectures
7
Readings
- M3.1.1 - Goroutines
- M3.1.2 - Exiting Goroutines
- M3.2.1 - Basic Synchronization
- M3.2.2 - Wait Groups
- M3.3.1 - Communication
- M3.3.2 - Blocking on Channels
- M3.3.3 - Buffered Channels
Assessments
1
Assignment
- Module 3 Quiz
1
Peer Review
- Module 3 Activity
Lecture Videos
3
Videos
- M4.1.1-2v3
- M4.2.1-3v3
- M4.3.1-3v3
PowerPoint Slides for the Lectures
8
Readings
- M4.1.1 - Blocking on Channels
- M4.1.2 - Select
- M4.2.1 - Mutual Exclusion
- M4.2.2 - Mutex
- M4.2.3 - Mutex Methods
- M4.3.1 - Once Synchronization
- M4.3.2 - Deadlock
- M4.3.3 - Dining Philosophers
Assessments
1
Assignment
- Module 4 Quiz
1
Peer Review
- Module 4 Activity
Auto Summary
Master concurrent programming in Go with this professional-level course by Coursera. Dive deep into the roles of channels and goroutines, learn to write goroutines, and implement channels for efficient communication. Enhance your skills through practical activities and develop example programs. Available with Starter, Professional, and Paid subscriptions, this course is perfect for IT and Computer Science enthusiasts aiming to excel in concurrency. Duration: 540 minutes.

Ian Harris