Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Tim Buchalka's Learn Programming Academy and Trevor Sawler

If you are like most people wanting to learn a programming language, you don't have much spare time.  What time you have is extremely valuable.   If you want to learn Google's GO programming language, then,  what you need is a course that will teach the essential Go programming skills quickly.

Read more

If you are like most people wanting to learn a programming language, you don't have much spare time.  What time you have is extremely valuable.   If you want to learn Google's GO programming language, then,  what you need is a course that will teach the essential Go programming skills quickly.

Think of a word processing program like Microsoft word - it has lots of advanced features that most people never use.   It's the same with computer programming.  A typical programming language has many parts that rarely get used, and a lot of what is taught in a typical computer course or textbook never gets used in the real world by professional developers.So why learn it all?  It makes much more sense to learn just want you actually need to know to become productive and be then able to apply for GoLang developer positions.   If you really want to learn those other parts of the Go lang language, then you can later, and it's highly likely you will pick it up faster anyway at that point because of the skills you have already learned.That's what this course is all about - giving you the skills you need quickly without any fluff or useless information.

The course is aimed at complete beginners.  No previous experience is necessary or assumed. If you are coming from another programming language like Java or C++, or C# then you will also feel right at home here, and you can skip any of the introductory parts if you wish.  But keep in mind there are differences in Go compared to those languages, so it's probably a good idea to watch all videos anyway.What will you learn in the course?

You will learn about many important GO code concepts including.

  • Learn the syntax of the Go language by writing several simple text-based games

  • Learn about the difference between Object-oriented programs and Go, which uses Composition

  • Learn to think like a programmer: making decisions, looping logic, and performing calculations

  • Learn about Go’s use of goroutines, channels, and the select statement for concurrent programming

  • Learn how Go can be used to build a production-ready web application

Some of the other specific things you will work through include:-

  • How to write a Go program

  • Learn the language while building simple games

  • Learn all about the Go compiler

  • Learn best practices when writing Go code

  • Learn how to write idiomatic Go code

  • Learn how to build a terminal-based Go program

  • Learn low to build a basic web-based Go program

  • Learn how to use delve, the Go debugger, to find and fix errors in your programs

Along the way, we will work with a lot of GO example code.  We'll start with badly written code, and go through it thoroughly to improve it and make it bug-free.  This is an essential skill and you will learn that in this course.

The course uses a combination of small snippets of code, and then larger real-world projects that you can run and edit and improve - you will learn how to think like a programmer and how to make the most out of the GO programming language.

What about the instructor?

Your instructor in the course is Trevor Sawler. 

Trevor has twenty years of experience in professional software development, and twenty years of experience as a University professor.

He has worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others.   As a professor, Trevor has taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technological fields.

What about if you have questions?

As if this course wasn’t complete enough, Trevor offers full support, answering any questions you have via the course Q&A section.This means you’ll never find yourself stuck on one lesson for days on end. With their hand-holding guidance, you’ll progress smoothly through this course without any major roadblocks.

There’s no risk either.

This course comes with a full 30-day money-back guarantee. Meaning if you are not completely satisfied with the course or your progress, simply let the instructors know and they will refund you 100%, every last penny no questions asked.

You either end up with GO skills, go on to develop great programs and potentially make an awesome career for yourself, or you try the course and simply get all your money back if you don’t like it…

You literally can’t lose.

Ready to get started, developer?

Enrol now using the “Add to Cart” button on the right, and get started on your way to creative, advanced GO brilliance. Or, take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.

See you on the inside (hurry, the Go class is waiting. )

Enroll now

What's inside

Learning objectives

  • Learn the core go skills needed to apply for go developer positions in just 10 hours.
  • Have a fundamental understanding of the go programming language.
  • Understand how to create your own go programs.
  • Have the skills and understanding of go to confidently apply for google golang programming jobs.
  • Be able to demonstrate industry best practices in the go programming language code you write.
  • Obtain a solid understanding of what debugging and refactoring is and how to do it.

Syllabus

In this section you'll learn a bit about Go, and how to install the necessary tools to work with it

Why Go is an excellent choice

Installing Go on our computer

Read more

Installing an Integrated Development Environment (IDE)

Let's write our first Go program

Reviewing the structure of a Go program

How to declare variables in Go, and how to call a function in another package

Making Eliza respond to user input

A brief overview of the doctor package

A review of what we've covered

Test your Knowledge

Listen for a single key press using a third party package

Getting started with the Go programming language

Working with variables in Go

Let's use the variables we created to start working on the game

Writing the last bit of the Guess the Number Game

Why should be use variables? Why not just type the values in?

Guess the Number challenge

Variables can only be accessed at certain places in our program depending on where they are declared

Test your knowledge of scope for both variables and functions

The solution to the scope challenge

What we'll cover in this section

Improve our console application, and learn a new data type

See how keypress listening works in a real-world application

A better way of writing to the console

Working with the fmt package, and defining our own variable types

String interpolation challenge

How I solved the challenge

What we covered in this section

int, float, string, and bool types

The array and struct types

An overview of the pointer type

An overview of the slice type

An overview of the map type

More detail on the function type

An overview of the channel type

An overview of the interface type

What is an expression?

Writing boolean expressions and tests

Writing more complex boolean expressions and tests

Hammer Bitcoin and boolean expressions

Solution to the challenge

Composition in Go vs. Inheritance in other languages

More detail on exported vs unexported functions, variables, and types

Managing the way our program executes

Executing some code a set number of times with the for loop

Executing some code while a condition is true with the for loop

Executing some code forever with the for loop

Loops within loops, and a brief introduction to Go's debugger, dlv

Setting up VS Code to debug console applications

Using the degubber on the Hammer Bitcoin game

Using the degugger on the Eliza game

Stepping through the code, and making the program terminate more nicely

Improving our menu application

Deciding what approach to take while coding

Implementing the do while loop in Go

What we will cover in this section

Starting a rock-paper-scissors game

Improving decision making in our rock-paper-scissors game

Determining who wins the rock-paper-scissors game, and an alternative to if/else

The select statement: decisions for channels

Updating rock-paper-scissors to use the select statement and channels

Writing the last bit of code, and a challenge

How Go evaluates mathematical expressions

Doing multiplication, division and more in Go

More on how Go evaluates mathematical expressions

Exploring the modulus operator in more detail

Using the modulus operator to simplify our rock-paper-scissors game

Precedence and the relational and conditional operators

How short circuit (or McCarthy) evaluation works in Go

A few additional assignment operators

More information about how strings are handled in Go

Learning to count from zero

Why the len() function and indexing are so useful

Searching for a substring in a string

Replacing a substring in a string, string comparison, and trimming whitespace

Searching for and replacing a particular occurrence of a substring

Why managing case is important in strings, and how to do so

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses simple text-based games to teach the syntax of the Go language, which can make learning more engaging for beginners
Starts with badly written code and thoroughly improves it, which is an essential skill for new programmers to learn
Covers goroutines, channels, and the select statement, which are essential for concurrent programming in Go
Explores the differences between object-oriented programming and Go's composition approach, which is useful for developers familiar with other languages
Teaches how to use delve, the Go debugger, to find and fix errors, which is a practical skill for any developer
Focuses on teaching the essential Go programming skills quickly, which may not cover advanced or niche topics

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Essentials of go for beginners

According to learners, this course is a solid foundation for understanding the basics of Go (Golang) programming. Many found the instructor's explanations to be clear and easy to follow, particularly appreciating the focus on practical examples and building simple projects like games and a basic web application. Students highlight that the course helps you get started quickly and provides a good overview of core concepts including variables, loops, decisions, and concurrency basics (goroutines and channels). While effective for beginners, some mention it covers the essentials and may require additional learning for advanced or production-level skills.
Provides a good overview of essential Go features.
"I learned about variables, loops, conditionals, and importantly, got an introduction to goroutines and channels."
"The course touches on key Go features like composition and interfaces which was valuable."
"It covered all the foundational topics I expected to see in a beginner Go course."
"I now understand the basics of how Go handles concurrency thanks to the relevant sections."
Highly recommended as a starting point for Go.
"As someone completely new to Go, I feel like this course gave me a really good head start."
"It's definitely geared towards beginners, just as advertised. Doesn't assume much prior knowledge."
"This course helped me get comfortable with Go syntax and concepts quickly."
"If you're looking for your first Go course, this is a solid choice to build a foundation."
Course includes helpful coding examples and projects.
"Building the simple games and the web app helped solidify my understanding of the concepts in a practical way."
"I really enjoyed the hands-on coding exercises; they are essential for learning a new language."
"The examples were relevant and showed how Go is actually used, which was motivating."
"Working through the code examples provided a great way to practice what was taught in the lectures."
Instructor explains concepts clearly and effectively.
"The instructor explains the concepts really clearly, which makes it easy to grasp the basics even if you're completely new."
"I found Trevor's explanations to be spot on, not too technical but detailed enough to understand *why* things work."
"His teaching style is engaging and he breaks down potentially complex ideas into digestible parts."
"The way the instructor walks through the code step-by-step was very helpful for a beginner like me."
Some learners faced issues with initial setup.
"Had a bit of trouble getting the environment set up correctly on my specific OS based on the instructions."
"Some of the initial setup steps seemed a little out of date or didn't work exactly as shown in the video."
"Getting the debugger working took some extra troubleshooting outside of the course material."
"Encountered a few hiccups with code examples not running perfectly the first time, maybe due to version differences."
May require supplemental learning for deeper skills.
"While great for beginners, the course doesn't go very deep into advanced topics or best practices for large applications."
"I finished the course feeling I have a good grasp of the basics, but I'll need to find more resources for intermediate/advanced Go."
"It's a crash course, so it moves quickly and doesn't linger on complex areas. Good intro, not exhaustive."
"If you're aiming for production-level Go skills immediately after this, you'll likely need to study further."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn Go for Beginners Crash Course (Golang) with these activities:
Review Basic Programming Concepts
Reinforce fundamental programming concepts like variables, data types, and control flow to prepare for learning Go syntax and structure.
Browse courses on Programming Concepts
Show steps
  • Review notes from previous programming courses or tutorials.
  • Complete online quizzes or practice exercises on basic programming concepts.
  • Write simple programs in a language you already know to refresh your skills.
Read "The Go Programming Language"
Supplement the course material with a comprehensive guide to Go, reinforcing concepts and providing deeper insights.
Show steps
  • Read the chapters relevant to the current course modules.
  • Work through the examples and exercises in the book.
  • Refer to the book for clarification on challenging topics.
Solve Go Koans
Reinforce Go syntax and concepts through interactive exercises that gradually increase in complexity.
Browse courses on Go
Show steps
  • Download and install the Go Koans environment.
  • Work through the koans sequentially, focusing on understanding the error messages.
  • Consult the Go documentation or online resources for help with challenging koans.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Review "Go in Action"
Gain practical insights into building real-world Go applications by studying a book focused on applied techniques.
View Go in Action on Amazon
Show steps
  • Read the chapters that align with the course's topics.
  • Experiment with the code examples provided in the book.
  • Apply the techniques learned to your own projects.
Build a Simple Web Server
Apply Go's concurrency features and web development capabilities by building a practical web server application.
Browse courses on Web Server
Show steps
  • Design the basic functionality of the web server (e.g., handling requests, serving static files).
  • Implement the server using Go's `net/http` package.
  • Add features like routing, templating, and data handling.
  • Test the server thoroughly and deploy it to a local environment.
Write a Go Blog Post
Solidify your understanding of a specific Go topic by explaining it in a blog post for other learners.
Browse courses on Go
Show steps
  • Choose a Go topic that you found challenging or interesting.
  • Research the topic thoroughly and gather relevant information.
  • Write a clear and concise blog post explaining the topic with examples.
  • Publish the blog post on a platform like Medium or your own website.
Contribute to a Go Project
Deepen understanding of Go by contributing to an existing open-source project, learning from experienced developers.
Browse courses on Go
Show steps
  • Find a Go project on GitHub that interests you and aligns with your skill level.
  • Read the project's contribution guidelines and code of conduct.
  • Identify a bug or feature request to work on.
  • Submit a pull request with your changes and respond to feedback from the maintainers.

Career center

Learners who complete Learn Go for Beginners Crash Course (Golang) will develop knowledge and skills that may be useful to these careers:
Software Engineer
A software engineer develops and maintains software applications. This role involves coding, testing, and debugging software. This course helps a software engineer by providing a strong foundation in the Go programming language, including syntax, data structures, and concurrent programming. The ability to build production-ready web applications, as covered in the course, is directly applicable to a software engineer's work. The course is especially useful for those who are new to programming or want to learn the nuances of Go, including its approach to composition and concurrent programming.
Backend Developer
A backend developer focuses on the server-side logic of applications, databases, and APIs. This course is exceptionally beneficial for a backend developer learning Go because it provides practical skills for building web applications. The course also covers important concepts like goroutines and channels, essential for concurrent programming, which backend systems frequently rely upon. A backend developer will find this course useful because it emphasizes practical learning through coding projects and real application examples, which are readily transferable to their daily work.
Web Developer
A web developer creates and maintains websites. This involves both front-end and back-end development. This course provides specific value because it explores how to build a basic web-based Go program, as well as covers the syntax and structure of Go code, which helps build a foundation for back-end work. Web developers can use the skills learned from this course to develop efficient and scalable web applications. The practical approach to learning through coding and real-world projects will make the transition into web development more efficient.
Application Developer
An application developer creates software for specific purposes, such as mobile apps or business software. Learning Go using this course can help an application developer learn many coding concepts, such as working with the Go compiler, debugging, and refactoring. The course can help an application developer learn the key concepts of Go and apply them to their work, especially given its focus on building production-ready web applications. The approach of this course, by working through example code and practical projects, makes it ideal for those looking to quickly build valuable skills.
Game Developer
A game developer designs and builds video games. This course helps a game developer by providing hands on experience building games using the Go programming language from within the course. The course’s emphasis on creating simple text-based games helps build an understanding of logic, looping, and decision-making, all essential skills for game development. The course also touches on debugging, which is an important practice for a developer. The hands-on nature of this course is particularly helpful for game developers who want a practical approach to learning Go.
Mobile Developer
A mobile developer creates applications for smartphones and tablets. This course may be useful for a mobile developer, especially if they are interested in building backend services for mobile applications using Go. The course will help a mobile developer learn Go syntax, build web applications, and understand concurrent programming to deal with multiple requests. The course also emphasizes industry best practices for Go programing. The skills learned from this course can help mobile developers create performant backend services.
Systems Programmer
A systems programmer works on the underlying software that makes computers and other devices function, such as operating systems. This course may be useful for a systems programmer, especially given its focus on concurrent programming, including goroutines and channels. The course helps build a foundation in writing efficient and reliable code in Go, which is crucial for system-level development. A good understanding of the Go compiler can enable a systems programmer to be productive.
DevOps Engineer
A DevOps engineer focuses on the processes and tools that enable rapid and reliable software delivery. This course helps a DevOps engineer by providing an understanding of the Go programming language, which can be used to build automation tools. The course’s focus on best practices and debugging helps a DevOps engineer who values writing reliable code. The course can help a DevOps engineer build a foundation in Go, which is useful for those who wish to improve their proficiency in this area, and implement tools written in Go.
Cloud Engineer
A cloud engineer designs, implements, and manages cloud computing systems. This course may be useful for a cloud engineer who writes programs that interact with cloud services. It can help in writing Go programs, and learn how to implement concurrent applications within Go. The course's emphasis on building production-ready web applications, and its focus on coding best practices, is useful for cloud computing. Those who wish to build a cloud application using Go find this course very helpful.
Embedded Systems Engineer
An embedded systems engineer develops software for hardware devices. While this course does not focus specifically on embedded systems, it may be useful for an embedded systems engineer, particularly if using Go in their work. The course helps build a foundation in the Go language, covering topics such as syntax, structures and concurrent programming. The course includes lessons on practical coding skills, such as debugging, which is valuable for building robust systems. This course may be useful to embedded systems engineers who wish to expand their skills or move into related areas.
Data Scientist
A data scientist analyzes large datasets to extract insights. While this course may not be directly related to data science, it may be useful for a data scientist interested in building data pipelines using Go. The course helps a data scientist become familiar with a programming language, which can then be further used to create tools or systems that streamline the acquisition and processing of data. This course provides a practical approach to learning the Go programming language.
Technical Consultant
A technical consultant advises clients on technology solutions. This course may be useful for a technical consultant if they are advising clients on software development projects that uses Go. The course helps build a foundation in Go, making a technical consultant familiar with software engineering that uses Go, including concepts such as concurrency. The course focuses on practical skills, which are useful for understanding a range of technical issues.
Technical Writer
A technical writer creates documentation for technical products or services. This course may be useful for a technical writer, especially those whose work involves describing Go-based software. By learning the fundamentals of Go and working on coding projects, a technical writer can gain a deeper understanding of the technologies they are documenting. The course helps a technical writer gain more insight into the language, which will improve the quality of their work.
Quality Assurance Engineer
A quality assurance engineer tests software to ensure it meets quality standards. This course may be useful for a quality assurance engineer who wants to learn the principles of software development using the Go programming language. Understanding the basic principles of Go, including its syntax, debugging and best practices, can help a quality assurance engineer understand software from within. This course also may be useful for building automated tests, and for understanding a codebase.
Project Manager
A project manager oversees software development projects. This course may be useful for a project manager who works on projects that use the Go programming language. The course offers an introduction to the Go language and its applications, which helps a project manager better understand the technical challenges their team faces. The course’s practical approach to building Go programs may be useful for a project manager.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn Go for Beginners Crash Course (Golang).
Is considered the definitive guide to the Go programming language. It provides a comprehensive overview of the language's features, syntax, and best practices. It is commonly used as a textbook in academic settings and by industry professionals. Reading this book concurrently with the course will provide a deeper understanding of the concepts covered and serve as a valuable reference.
Focuses on practical application of Go, covering topics like concurrency, testing, and network programming. It provides real-world examples and best practices for building robust Go applications. This book is more valuable as additional reading than it is as a current reference. It adds more depth to the existing course by providing practical examples.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser