Learn the basics of Go, an open source programming language originally developed by a team at Google and enhanced by many contributors from the open source community. This course is designed for individuals with previous programming experience using such languages as C, Python, or Java, and covers the fundamental elements of Go. Topics include data types, protocols, formats, and writing code that incorporates RFCs and JSON. Most importantly, you’ll have a chance to practice writing Go programs and receive feedback from your peers. Upon completing this course, you'll be able to implement simple Go programs, which will prepare you for subsequent study at a more advanced level.
Offered By


About this Course
Learner Career Outcomes
36%
27%
Learner Career Outcomes
36%
27%
Offered by

University of California, Irvine
Since 1965, the University of California, Irvine has combined the strengths of a major research university with the bounty of an incomparable Southern California location. UCI’s unyielding commitment to rigorous academics, cutting-edge research, and leadership and character development makes the campus a driving force for innovation and discovery that serves our local, national and global communities in many ways.
Syllabus - What you will learn from this course
Introduction to the Specialization
Introduction to the Course
Learn the basics of Go, an open source programming language originally developed by a team at Google and enhanced by many contributors from the open source community. This is the first in a series of three courses comprising the Programming with Google Go specialization. It is designed for individuals with previous programming experience using such languages as C, Python, or Java, and covers the fundamental elements of Go. Topics include data types, protocols, formats, and writing code that incorporates RFCs and JSON. Most importantly, you’ll have a chance to practice writing Go programs and receive feedback from your peers. Upon completing this course, you’ll be able to implement simple Go programs, which will prepare you for the remaining two courses in this specialization: Functions, Methods, and Interfaces in Go and Concurrency in Go.
Module 1: Getting Started with Go
This first module gets you started with Go. You'll learn about the advantages of using Go and begin exploring the language's features. Midway through the module, you’ll take a break from "theory" and install the Go programming environment on your computer. At the end of the module, you'll write a simple program that displays “Hello, World” on your screen.
Module 2: Basic Data Types
Now that you’ve set up your programming environment and written a test program, you’re ready to dive into data types. This module introduces data types in Go and gives you practice writing routines that manipulate different kinds of data objects, including floating-point numbers and strings.
Module 3: Composite Data Types
At this point, we’re ready to move into more complex data types, including arrays, slices, maps, and structs. As in the previous module, you’ll have a chance to practice writing code that makes use of these data types.
Module 4: Protocols and Formats
This final module of the course introduces the use of remote function calls (RFCs) and JavaScript Object Notation (JSON) in Go. You’ll learn how to access and manipulate data from external files, and have an opportunity to write several routines using Go that exercise this functionality.
Reviews
TOP REVIEWS FROM GETTING STARTED WITH GO
Great intro. If you already know the basics, you probably don't need this course though. Not much of a deep dive, more of a "skim the surface" type course. Week 4 on IO was the most beneficial for me.
Very detailed, nice introduction to golang's basic concepts. Might need to google to find better ways to handle some requirements of the assignments, but overall a cool programming language to learn.
some of the best, clearest, easiest to understand explanations I've ever come across. Other computer science instructors should do this course. not for them to learn Go, but to learn how to explain.
Nice fundamentals of the Go programming language. By the end of the course you'll be able to write functions that use basic variables, slices, structs, maps, functions, JSON, et cetera. Thanks!
About the Programming with Google Go Specialization
This specialization introduces the Go programming language from Google and provides learners with an overview of Go's special features. Upon completing the three-course sequence, learners will have gained the knowledge and skills needed to create concise, efficient, and clean applications using Go.

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
More questions? Visit the Learner Help Center.