Code and run your first Go program in minutes without installing anything!
This course is designed for learners who are already familiar with development practices in a modern programming language such as Python to be quickly onboarded to the fast and powerful language of Go (sometimes referred to as Golang). The modules in this course cover Go basics such as syntax, error handling and the standard libraries, OOP and Parallel programming including pointers and Goroutines, and finally addressing larger project topics including dependency management, logging, and profiling. Towards the end of the course, learners will walk through the complete lifecycle of building a Web Service module twice: once with Gin and once with grpc.
By the end of this course, you will be comfortable programming in Go.
To allow for a truly hands-on, self-paced learning experience, this course is video-free. Assignments contain short explanations with images and runnable code examples with suggested edits to explore code examples further, building a deeper understanding by doing. You'll benefit from instant feedback from a variety of assessment items along the way, gently progressing from quick understanding checks (multiple choice, fill in the blank, and un-scrambling code blocks) to small, approachable coding exercises that take minutes instead of hours.
Overview
Syllabus
- Introduction to Go
- Welcome to Week 1 of the Go for Python Developers course. These assignments cover the features of Go, syntax and error handling, and using Go standard libraries. The module ends with graded summative assessments.
- OOP and Parallel Programming
- Welcome to Week 2 of the Go for Python Developers course. These assignments cover handling pointers, OOP, and parallel programming. The module ends with graded summative assessments.
- Modules, Web Services, Profiling, and Debugging
- Welcome to Week 3 of the Go for Python Developers course. These assignments cover building full Go modules such as a web service, demonstrating dependency management, logging, and profiling. The module ends with graded summative assessments.
Taught by
Elise Deitrick and Sergei Bronnikov