• Home
  • Python
    • Introduction to Python
    • Python Developer
  • JavaScript
    • Introduction to JavaScript
    • JavaScript Developer
  • React.js
    • Introduction to React
    • React Developer
  • TypeScript
    • Introduction to TypeScript
    • TypeScript Developer
  • Linux Shell
    • Introduction to the Linux Shell
    • Linux Shell Developer
  • C++
    • Introduction to C++
    • C++ Developer
  • C Language
    • Introduction to C
    • C Developer
  • Rust
    • Introduction to Rust
    • Rust Developer
  • Zig
    • Introduction to Zig
    • Zig Developer
  • Interactive Training
  • Pricing
  • Brainstorm
STEMTrainingGrounds
  • Courses
    • Home
    • Python
      • Introduction to Python
      • Python Developer
    • JavaScript
      • Introduction to JavaScript
      • JavaScript Developer
    • React
      • Introduction to React
      • React Developer
    • TypeScript
      • Introduction to TypeScript
      • TypeScript Developer
    • Linux Shell
      • Introduction to the Linux Shell
      • Linux Shell Developer
    • C++
      • Introduction to C++
      • C++ Developer
    • C Language
      • Introduction to C
      • C Developer
    • Rust
      • Introduction to Rust
      • Rust Developer
    • Zig
      • Introduction to Zig
      • Zig Developer
  • Interactive Training
  • Pricing
  • Navigate
    • Home
    • Reading Grounds
    • Brainstorm

Quick Links

  • About Us
  • Pricing
  • Partnership
  • Brainstorm
  • Terms
  • Privacy
  • Refunds

Courses

  • Python
    • Introduction to Python
    • Python Developer
  • JavaScript
    • Introduction to JavaScript
    • JavaScript Developer
  • React
    • Introduction to React
    • React Developer
  • TypeScript
    • Introduction to TypeScript
    • TypeScript Developer
  • Linux Shell
    • Introduction to the Linux Shell
    • Linux Shell Developer
  • C++
    • Introduction to C++
    • C++ Developer
  • C Language
    • Introduction to C
    • C Developer
  • Rust
    • Introduction to Rust
    • Rust Developer

Newsletter

Subscribe to our free monthly newsletter, for a quick update on Python, JavaScript, and React news

© 2025 - 2026 STEMTrainingGrounds. All Rights Reserved.

Your browser does not support the video tag.

Zig Developer

Move beyond basic syntax into the deeper systems-programming ideas that make Zig powerful: explicit memory access, structured data modeling, resource control, and predictable program behavior. Build more capable programs that manage dynamic data, interact with files and command-line input, and use Zig’s standard library. Practice how to organize Zig projects for real development

Computer Programming Language Logo
Enroll

Zig Developer

Lesson 1
Pointer Basics
Understand what pointers are and why Zig uses them explicitly
Free Preview
Lesson 2
Address Of Operator
Use & to get the address of a value
Free Preview
Lesson 3
Pointer Dereferencing
Use .* to access the value behind a pointer
Free Preview
Lesson 4
Single Item Pointers
Work with pointers that refer to exactly one value
Lesson 5
Many Item Pointers
Understand pointer forms that refer to multiple contiguous values
Lesson 6
Slice Pointers
Understand how slices combine a pointer with a length
Lesson 7
Const Pointers
Use pointers that cannot modify the referenced value
Lesson 8
Mutable Pointers
Modify values through mutable pointers
Lesson 9
Pointer To Const Data
Distinguish between a constant pointer and constant pointed-to data
Lesson 10
Optional Pointers
Represent pointer values that may be null using optionals
Lesson 11
Null Handling With Pointers
Safely unwrap and check optional pointer values
Lesson 12
Pointer Parameters
Pass values by pointer to functions
Lesson 13
Pointer Return Values
Return pointers safely when lifetimes are valid
Lesson 14
Pointer Lifetime Basics
Avoid returning pointers to invalid local data
Lesson 15
Arrays Vs Slices
Compare fixed-size arrays with runtime-length slices
Lesson 16
Slice Basics
Work with slice length, indexing, and iteration
Lesson 17
Slice Ranges
Create subslices using range syntax
Lesson 18
Mutable Slices
Modify collections through mutable slices
Lesson 19
Sentinel Terminated Slices
Work with slices that end at a known sentinel value
Lesson 20
Multidimensional Arrays
Store and access nested fixed-size collections
Lesson 21
Nested Slices
Represent rows, tables, and variable-length nested data
Lesson 22
String Slices
Treat strings as byte slices and understand string storage
Lesson 23
String Comparison
Compare string slices using standard library utilities
Lesson 24
Struct Basics Review
Reinforce how structs group related fields
Lesson 25
Struct Initialization
Create struct values with named fields
Lesson 26
Default Field Values
Provide default values for struct fields
Lesson 27
Struct Methods
Define functions associated with structs
Lesson 28
Self Parameters
Use self-style parameters in struct methods
Lesson 29
Mutable Struct Methods
Modify struct state through pointer receiver parameters
Lesson 30
Struct Composition
Build larger types by nesting structs inside other structs
Lesson 31
Anonymous Structs
Use temporary struct-like values without declaring a named type
Lesson 32
Struct Field Access
Access and update fields using dot syntax
Lesson 33
Enums
Define named sets of possible values
Lesson 34
Enum Values
Create and compare enum values
Lesson 35
Enum Methods
Attach behavior to enum types
Lesson 36
Enum Switches
Use switch with enum cases for clear branching
Lesson 37
Enum Integer Tags
Assign or inspect integer tag values for enums
Lesson 38
Union Basics
Represent memory that may hold different value forms
Lesson 39
Tagged Unions
Store one of several possible value types with a known active tag
Lesson 40
Tagged Union Switches
Use switch to safely handle each active union case
Lesson 41
Payload Capture
Capture values inside optionals, errors, and tagged unions
Lesson 42
Defer
Run cleanup code automatically at the end of a scope
Lesson 43
Multiple Defers
Understand the order in which deferred statements run
Lesson 44
Errdefer
Run cleanup code only when a scope exits with an error
Lesson 45
Resource Cleanup Patterns
Combine defer and errdefer for reliable cleanup
Lesson 46
Error Sets
Define named groups of possible errors
Lesson 47
Error Unions Review
Reinforce values that may contain either data or an error
Lesson 48
Error Propagation
Pass errors through call chains clearly
Lesson 49
Try Expressions
Use try to return errors from the current function
Lesson 50
Catch Expressions
Handle errors locally with catch
Lesson 51
Error Switches
Match specific error values and respond differently
Lesson 52
Custom Error Types
Define domain-specific errors for clearer programs
Lesson 53
Allocator Basics
Understand Zig's explicit allocator model
Lesson 54
Allocator Parameters
Pass allocators into functions that need dynamic memory
Lesson 55
Allocating Memory
Allocate memory for values, arrays, and slices
Lesson 56
Freeing Memory
Release allocated memory correctly
Lesson 57
General Purpose Allocator
Use a flexible allocator for dynamic memory
Lesson 58
Arena Allocator
Allocate many objects and free them together
Lesson 59
Fixed Buffer Allocator
Allocate from a fixed block of memory
Lesson 60
Allocator Error Handling
Handle allocation failures cleanly
Lesson 61
Array List
Build dynamic arrays with the standard library
Lesson 62
Array List Append
Add values to a dynamic array
Lesson 63
Array List Items
Access the underlying slice of an ArrayList
Lesson 64
Hash Map
Store key-value pairs with standard library hash maps
Lesson 65
Hash Map Insert And Lookup
Add, find, and update map entries
Lesson 66
Hash Map Iteration
Iterate over keys, values, and entries
Lesson 67
File Input
Read data from files
Lesson 68
File Output
Write data to files
Lesson 69
File Open Modes
Open files for reading, writing, creation, or modification
Lesson 70
Reading File Contents
Read entire files or stream data incrementally
Lesson 71
Writing Text Files
Write strings and formatted data to files
Lesson 72
Command Line Arguments
Accept and process arguments passed to a program
Lesson 73
Argument Parsing Basics
Validate and interpret command-line input
Lesson 74
Compile Time Values
Use comptime to evaluate values during compilation
Lesson 75
Comptime Parameters
Pass types and values into functions at compile time
Lesson 76
Generic Functions
Write functions that accept types as compile-time parameters
Lesson 77
Generic Containers
Build reusable containers parameterized by type
Lesson 78
Inline Loops
Unroll loops and generate code at compile time
Lesson 79
Testing With Expect
Use testing helpers to verify program behavior
Lesson 80
Testing Errors
Test functions that return error unions
Lesson 81
Testing Allocator Code
Verify code that allocates and frees memory
Lesson 82
Build System Basics
Configure projects with Zig's build system
Lesson 83
Build Dot Zig
Understand the role of the build.zig file
Lesson 84
Build Steps
Define build, run, and test steps
Lesson 85
Build Options
Pass configuration values into builds
Computer Programming Language Logo

Zig Developer Path

Introduction to Zig

Gain a clear path into a modern systems programming language built for speed, control, and reliability. Develop the ability to write small but complete programs while gaining confidence with Zig’s straightforward syntax, explicit design, and command-line workflow. Understand how Zig approaches program structure, data, decisions, repetition, reusable logic, errors, and basic verification in a practical, hands-on way.

Zig Developer
Move beyond basic syntax into the deeper systems-programming ideas that make Zig powerful: explicit memory access, structured data modeling, resource control, and predictable program behavior. Build more capable programs that manage dynamic data, interact with files and command-line input, and use Zig’s standard library. Practice how to organize Zig projects for real development

Zig Developer Path

Course logo

Introduction to Zig

Course logo

Zig Developer

Monthly

$ 19.99

Zig Developer Path

Access to:

Introduction to Zig course

and

Zig Developer course

Upon course or path completion:

Course certificate

Path certificate

2 Courses

Monthly Subscription

Enroll Today

Yearly

$ 149.99

Zig Developer Path

Access to:

Introduction to Zig course

and

Zig Developer course

Upon course or path completion:

Course certificate

Path certificate

2 Courses

1 Year Subscription

Enroll Today

Yearly

$ 259.99

All-Access 1 Year Subscription

Access to:

Python Developer Path

JavaScript Developer Path

React Developer Path

TypeScript Developer Path

Linux Shell Developer Path

C++ Developer Path

C Developer Path

Upon completion:

Path certificates

Also includes 1-year all-access to any new courses or paths that are added!

Enroll Today