When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 4 modules in this course
This course is for individuals with previous programming experience in languages like C, Python, or Java, who are looking to learn a modern, efficient language. Learning Go will equip you with skills highly valued in backend development and system programming, enhancing your career prospects in these growing fields.
By the end of this course, you will be able to:
- Understand the fundamental elements of Go, an open-source programming language.
- Work with Go data types, protocols, and formats, including RFCs and JSON.
- Practice writing and debugging Go programs in a Go development environment.
- Implement simple Go programs, preparing you for advanced Go specialization.
To be successful in this course, you should have a background in basic programming concepts and experience with at least one programming language.
This module introduces the Go programming language and its role in modern software development. It explores key advantages of Go, including performance, simplicity, and built-in support for concurrency.
Learners set up the Go development environment and examine how Go code is organized using workspaces, packages, and the Go toolchain. The module also introduces core language elements such as variables, data types, and variable initialization, preparing learners to begin writing and running basic Go programs.
What's included
10 videos1 reading3 assignments
Show info about module content
10 videos•Total 55 minutes
Welcome to the Course•1 minute
Module 1 Overview•2 minutes
M1.1.1 - Why Should I Learn Go? (Advantages of Go) •11 minutes
M1.1.2 - Objects•6 minutes
M1.1.3 - Concurrency •9 minutes
M1.2.1 - Installing Go•3 minutes
M1.2.2 - Workspaces & Packages•8 minutes
M1.2.3 - Go Tool •5 minutes
M1.3.1 - Variables •4 minutes
M1.3.2 - Variable Initialization•5 minutes
1 reading•Total 10 minutes
Specialization Overview•10 minutes
3 assignments•Total 105 minutes
Go Fundamentals•30 minutes
Your First Go Program•45 minutes
Module 1 Quiz•30 minutes
Basic Data Types
Module 2•3 hours to complete
Module details
This module introduces fundamental data concepts in Go, including how variables reference memory and how Go manages memory through pointers and garbage collection. You will explore basic data types such as integers, floating-point numbers, and strings, and learn how Go represents text using UTF-8 encoding. The module also covers constants, commonly used string-related packages, and techniques for printing output and reading user input. Finally, you will examine control flow constructs that allow Go programs to make decisions and repeat actions.
By the end of this module, you will be able to work with Go’s core data types and use control flow structures to build simple programs.
What's included
11 videos1 reading4 assignments
Show info about module content
11 videos•Total 66 minutes
Module 2 Overview•1 minute
M2.1.1 - Pointers•5 minutes
M2.1.2 - Variable Scope•9 minutes
M2.1.3 - Deallocating Memory•5 minutes
M2.1.4 - Garbage Collection •5 minutes
M2.2.1 - Comments, Printing, Integers•7 minutes
M2.2.2 - Ints, Floats, Strings•9 minutes
M2.2.3 - String Packages •6 minutes
M2.3.1 - Constants•4 minutes
M2.3.2 - Control Flow•8 minutes
M2.3.3 - Control Flow, Scan•6 minutes
1 reading•Total 1 minute
Important Notes Before Watching the Lectures•1 minute
4 assignments•Total 104 minutes
Memory and Basic Data Concepts in Go•30 minutes
Module 2 Activity: trunc.go•30 minutes
Module 2 Activity: findian.go•30 minutes
Module 2 Quiz•14 minutes
Composite Data Types
Module 3•2 hours to complete
Module details
In this module, you will explore composite data types in Go, which allow programmers to group and organize multiple values together. You will learn how arrays store fixed-length collections of elements and how slices provide a flexible, dynamic way to work with sequences of data. The module also introduces hash tables and maps for storing key-value pairs and explains how structs can be used to organize related data into meaningful objects. By the end of the module, you will understand how these data structures help manage complex data and write more efficient Go programs.
What's included
7 videos3 assignments
Show info about module content
7 videos•Total 39 minutes
Module 3 Overview•1 minute
M3.1.1 - Arrays•7 minutes
M3.1.2 - Slices•9 minutes
M3.1.3 - Variable Slices•4 minutes
M3.2.1 - Hash Tables•7 minutes
M3.2.2 - Maps•5 minutes
M3.3.1 - Structs•5 minutes
3 assignments•Total 72 minutes
Composite Data Types•30 minutes
Module 3 Activity: slice.go•30 minutes
Module 3 Quiz•12 minutes
Protocols and Formats
Module 4•2 hours to complete
Module details
This final module introduces how Go programs interact with external systems and data formats. You will learn about Remote Procedure Calls (RPCs) and JavaScript Object Notation (JSON) and how they are used to exchange structured data between programs. The module also covers how to access and process structured data stored in files. By the end of the module, you will write Go programs that use RPCs, work with JSON data, and read structured text data from files for further processing.
What's included
5 videos3 assignments
Show info about module content
5 videos•Total 30 minutes
Module 4 Overview•2 minutes
M4.1.1 - RFCs•10 minutes
M4.1.2 - JSON•6 minutes
M4.2.1 - File Access, ioutil •7 minutes
M4.2.2 - File Access, os•5 minutes
3 assignments•Total 90 minutes
Working with Protocols, JSON, and Files•30 minutes
Module 4 Activity: makejson.go•30 minutes
Final Course Activity: read.go•30 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
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. UC Irvine’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.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.6
2,478 reviews
5 stars
71.95%
4 stars
20.01%
3 stars
4.76%
2 stars
2.01%
1 star
1.25%
Showing 3 of 2478
A
AN
5·
Reviewed on Mar 13, 2021
I thank Professor Ian Harris for her excellent knowledge.And thank you to the coursera for providing this good course.This course was great and helped me a lot.I wish success to the coursera team.
S
SS
4·
Reviewed on Feb 7, 2020
The instructor is great! The course was a bit too basic in my opinion, and even though it targets experienced developers, some basic concepts were explained for too long.
A
AN
5·
Reviewed on Oct 23, 2020
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.
Go (or Golang) is an open-source programming language developed by Google, known for its efficiency, simplicity, and strong support for concurrency. Learning Go is beneficial for building scalable network services, cloud-native applications, and system tools, making it a valuable skill for modern software development.
What are the prerequisites for this 'Getting Started with Go' course?
This course is designed for individuals with prior programming experience in languages such as C, Python, or Java. A basic understanding of programming concepts is essential to succeed.
What practical skills will I gain from this Go course?
You will gain practical skills in implementing fundamental Go programs, working with Go's basic and composite data types, and utilizing protocols like RFCs and JSON for data manipulation. You'll also learn to set up your Go programming environment.
How does this course prepare me for a career in software development?
This course provides a strong foundation in Go programming, a highly sought-after skill in roles like backend developer, cloud engineer, and system programmer. It prepares you for more advanced Go topics and real-world software development challenges."
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.