# ratfactor/ziglings

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ratfactor-ziglings).**

4,662 stars · 462 forks · MIT

## Links

- GitHub: https://github.com/ratfactor/ziglings
- awesome-repositories: https://awesome-repositories.com/repository/ratfactor-ziglings.md

## Topics

`beginner-friendly` `educational` `exercises` `learning-by-doing` `zig` `ziglang`

## Description

Ziglings is an interactive coding course and tutorial designed to teach the Zig programming language. It functions as a test-driven learning tool that guides users through a sequence of incremental exercises to master language syntax and semantics.

The project provides a series of small, broken programs that learners must fix. Progress is achieved by modifying the code until it satisfies predefined requirements and passes associated automated tests.

The educational experience is supported by a shell-based test runner and local compiler execution to provide immediate feedback. It utilizes a file-based mapping system to organize the curriculum into a linear learning path.

## Tags

### Education & Learning Resources

- [Interactive Programming Tutorials](https://awesome-repositories.com/f/education-learning-resources/educational-resources/courses-training-certifications/interactive-learning-platforms/interactive-programming-tutorials.md) — Offers a hands-on learning environment that combines structured technical guides with interactive, test-driven exercises.
- [Test-Driven Learning Cycles](https://awesome-repositories.com/f/education-learning-resources/curricula-instructional-design/educational-frameworks-architectures/instructional-methodologies/iterative-learning-cycles/test-driven-learning-cycles.md) — Uses automated testing to validate learner understanding through a series of broken files that must be fixed.
- [Interactive Coding Courses](https://awesome-repositories.com/f/education-learning-resources/interactive-coding-courses.md) — Ships a curriculum that uses code-based lessons and automated feedback to guide learners through the Zig language.
- [Language Learning Paths](https://awesome-repositories.com/f/education-learning-resources/language-learning-paths.md) — Provides a structured educational sequence designed to teach Zig programming fundamentals through practical exercises.
- [Programming Language Education](https://awesome-repositories.com/f/education-learning-resources/programming-language-education.md) — Provides structured resources and interactive exercises for mastering Zig language syntax and semantics. ([source](https://github.com/ratfactor/ziglings/blob/main/README.md))
- [Programming Language Tutorials](https://awesome-repositories.com/f/education-learning-resources/programming-language-tutorials.md) — Provides pedagogical materials and interactive exercises focused on teaching Zig language features and behaviors.

### Operating Systems & Systems Programming

- [Test-Driven Language Mastery](https://awesome-repositories.com/f/operating-systems-systems-programming/rust-systems-programming/test-driven-language-mastery.md) — Enables practicing syntax and logic by modifying code until it satisfies predefined automated tests.

### Development Tools & Productivity

- [Command-Line Test Runners](https://awesome-repositories.com/f/development-tools-productivity/command-line-test-runners.md) — Provides a command-line interface to automate the compilation and execution of test cases for each exercise.
- [Local Compiler Integrations](https://awesome-repositories.com/f/development-tools-productivity/local-compiler-integrations.md) — Executes the installed system compiler directly on source files to provide immediate validation of code fixes.
