What you'll learn:

By the end of this course, you will fully understand:

  1. The theory, definition and best uses of concurrency in Go, or ANY other language.
  2. Why concurrency is actually more familiar and common than you may think.
  3. How to instantly make any Go function concurrent with goroutines.
  4. How to use wait groups to ensure all goroutines are finished before your program exits.
  5. How to use channels for communication between and synchronization of goroutines.
  6. How to avoid race conditions and deadlocks.
  7. Effective use of mutexes, condition variables and atomic variables for safely sharing data between goroutines.
  8. Concepts of concurrency patterns such as worker pools - when and how to use them effectively.



Resources


Resources provided in this course include a full set of the lecture slides, cheat sheets, reference links, source code files and more. These are all neatly included in a single zip file for ease of download and installation.

Quizzes and Exercises


To reinforce what you learn in each lecture, quizzes and interactive exercises are added trhoughout the course.

Source Code


Included with the course are dozens of source code files that you can install, modify, experiment with, and run as you like to quickly incorporate course concepts into your own projects.

Course Curriculum


  Welcome and Course Overview
Available in days
days after you enroll
  Understanding Concurrency - Trends, Benefits and Challenges
Available in days
days after you enroll
  Setting Up Your Custom Development Environment
Available in days
days after you enroll
  Creating Your First Goroutine
Available in days
days after you enroll
  Understanding Blocking Code
Available in days
days after you enroll
  Using Wait Groups to Track Goroutine Status
Available in days
days after you enroll
  Using Channels to Communicate with Goroutines
Available in days
days after you enroll
  Understanding IO-bound vs CPU-bound Processes
Available in days
days after you enroll
  What could go wrong? Race Conditions
Available in days
days after you enroll
  Concurrency Patterns
Available in days
days after you enroll
  Wrap Up and Closing Credits
Available in days
days after you enroll

About your instructor


Stan Vangilder earned a Bachelor of Science in Electrical and Computer Engineering from the Georgia Institute of Technology, and later, a Master of Science in Management of Technology.


Throughout his career at a Fortune 150 company, he was an early adopter of technology and became a frequent speaker, trainer, coach and consultant for large and small audiences inside and outside the company.


Stan is now taking his passion for learning and teaching public with the creation of UPnRunning, an online company helping to simplify complex topics for quick and efficient adoption into your own projects and workflows.

About UP n Running


About UPnRunning


Scenario:  


You want to learn the basics of an exciting new technology, so that you can quickly make it your own and incorporate it into your projects. This is way beyond something that you can learn in 5 minutes on Google, but also not a semester-long course at a local university.


What to do?


The entirety of what you’re trying to learn probably exists for low or no cost SOMEWHERE, but do you enjoy scouring Google, YouTube, and countless other resources for hours, searching and experimenting furiously for what you need? I didn’t think so.


At UPnRunning, our goal is to do the scouring for you: combining our own experience with extensive new research and testing to simplify even the most complex topics. Our final products:


  • Concise yet complete
  • Easy to understand
  • Contain numerous downloadable code samples
  • Provide regularly updated reference material 
  • Reasonably priced


Try one of our courses today, and get “UPnRunning” more quickly and efficiently than you may have expected.

Choose a Pricing Option