Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go_journey

A structured, test-driven Go course — novice to production-ready. Built on learning science: spaced repetition, active recall, and Bloom's Taxonomy scaffolding.

Open in GitHub Codespaces CI


How It Works

Each exercise contains:

  • exercise.go — a stub with TODO markers for you to fill in
  • exercise_test.go — failing tests; your goal is to make them pass
  • README.md — objectives, concept explanation, hints (spoiler-gated), and references

The workflow: read the exercise README → attempt the stub → run tests → reveal hints only if stuck.


Quick Start

Option 1 — GitHub Codespaces (zero setup)

Click the badge above. Everything is pre-configured.

Option 2 — Local

git clone https://github.com/davidnbr/go_journey.git
cd go_journey
go mod download

Requires Go 1.22+.


Run Tests

# All exercises
make test-all

# One phase (shorthand)
make test-phase PHASE=1

# One phase (explicit)
make test-phase PHASE=phase1-foundations

# One exercise (shorthand: phase.exercise)
make check EX=1.1

# One exercise (explicit)
make check PHASE=phase1-foundations EX=01-hello-world

# Check overall progress
make progress

Course Structure

Phase Focus Bloom Level Exercises Projects
Phase 1 — Foundations Syntax, types, control flow, errors Remember → Apply 16 2
Phase 2 — Core Patterns Structs, interfaces, pointers, I/O Apply → Analyze 18 3
Phase 3 — Concurrency Goroutines, channels, sync, generics Analyze → Evaluate 15 3
Phase 4 — Mastery Testing, profiling, HTTP, databases Evaluate → Create 10 2

Solutions

Solutions live on the solutions branch to avoid spoilers. Switch only after you've made a genuine attempt.

git fetch origin solutions
git show origin/solutions:phases/phase1-foundations/exercises/01-hello-world/exercise.go

DevOps Context

Every exercise includes a "Why This Matters" section connecting the concept to real infrastructure work: CLI tools, HTTP services, configuration parsing, concurrency patterns for monitoring agents, and more.

About

# Go exercises

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages