Skip to content

This repository contains a 12-week, beginner-friendly curriculum designed to teach Go (Golang) step-by-step — without overwhelming you. Whether you're a frontend developer exploring backend development, a student new to systems programming, or just curious about Go’s simplicity and power, this curriculum is crafted to help you learn by doing.

Notifications You must be signed in to change notification settings

adhisetyatuhu/go-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

go-roadmap

This 12-week Golang curriculum is designed as a journey to take a developer from a novice level to proficiency. The course is structured into distinct modules that build upon each other, combining theoretical knowledge with practical application.

Curriculum Breakdown

  • Weeks 1-4: Foundations: The curriculum starts with the fundamentals of Go, including environment setup, basic syntax, variables, and data types. It then progresses to control flow, functions, and essential data structures such as arrays, slices, and maps.
  • Weeks 5-8: Core Features & Concurrency: This phase covers intermediate concepts like error handling, pointers, and interfaces. Following this, the curriculum dedicates significant time to Go's hallmark feature, concurrency, teaching students about goroutines, WaitGroups, and channels.
  • Weeks 9-12: Tooling & Application: The final section focuses on practical skills, including package management with Go Modules, testing and benchmarking, file I/O, and JSON handling. The course culminates in learning how to build a simple web server using the net/http package.

Hands-On Mini-Projects

A central part of the learning process involves building four detailed mini-projects that allow students to apply the concepts they've learned:

  • Go-Do: The Terminal Task Tracker: A command-line application to practice fundamentals and data structures.
  • Gopher Links: The Personal URL Shortener: A project focused on using maps and structs to manage data efficiently.
  • Go-Pher: The Concurrent Web Crawler: An application designed to teach the practical use of goroutines and channels for high-performance tasks.
  • Project Zenith: The Wisdom API: A final project where students build a live web service that serves data as JSON, covering web server creation and routing.

About

This repository contains a 12-week, beginner-friendly curriculum designed to teach Go (Golang) step-by-step — without overwhelming you. Whether you're a frontend developer exploring backend development, a student new to systems programming, or just curious about Go’s simplicity and power, this curriculum is crafted to help you learn by doing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages