YOUR LUA LEARNING PATH

A little more Lua.
A little more confidence.

One idea at a time, with examples you can follow and checkpoints to see what’s clicking. New here? Begin with chapter one. Know a little already? Jump right in.

Before you start

Start with values and truth, then scope and functions. Lua-specific rules such as one-based sequence indexes are introduced in the lessons.

Review a foundation whenever you need it: First Python program · Decisions and loops · Small functions

13 open chapters. Your progress is saved as you go.

Your chapters

Choose any starting point
  1. 01

    Reason about Lua values without borrowing another language’s truth rules.

    Start here, or skip ahead
    Open chapter: Values, types, and truth
  2. 02

    Keep bindings local and distinguish shadowing from assignment.

    Open whenever you’re ready
    Open chapter: Lexical scope and accidental globals
  3. 03

    Package calculations while making scope and results explicit.

    Open whenever you’re ready
    Open chapter: Functions, locals, and return values
  4. 04

    Preserve nil values and understand result adjustment.

    Open whenever you’re ready
    Open chapter: Multiple results and exact argument packs
  5. 05

    Use one flexible data structure with clear key and sequence rules.

    Open whenever you’re ready
    Open chapter: Tables and sequences
  6. 06

    Choose iteration rules that match sequences, maps, and text.

    Open whenever you’re ready
    Open chapter: Iteration and string processing
  7. 07

    Use Lua patterns without importing regular-expression assumptions.

    Open whenever you’re ready
    Open chapter: Captures and literal-safe substitutions
  8. 08

    Choose the unit of text an operation actually needs.

    Open whenever you’re ready
    Open chapter: Bytes, code points, and text boundaries
  9. 09

    Preserve private working state through lexical scope.

    Open whenever you’re ready
    Open chapter: Closures and module boundaries
  10. 10

    Expose a traversal without exposing its storage representation.

    Open whenever you’re ready
    Open chapter: Custom iterators and termination contracts
  11. 11

    Add object-like behavior and handle expected failures deliberately.

    Open whenever you’re ready
    Open chapter: Metatables and protected calls
  12. 12

    Understand when metatable hooks do and do not run.

    Open whenever you’re ready
    Open chapter: Intercepting writes and raw operations
  13. 13

    Trace cooperative control transfer explicitly.

    Open whenever you’re ready
    Open chapter: Coroutine suspension and result channels

PUT IT TOGETHER

Final assessment & certificate

30 multiple-choice questions and 2 written coding problems. Pass the knowledge section at 80% overall and at least 50% in every chapter area, complete and review the written practice, and meet the attempt-integrity checks to unlock your certificate.

The certificate records a CodeQuest foundations assessment. Written work is self-reviewed; identity and independent proficiency are not verified.

Open final assessment

Take an issuer-recorded assessment with a verifiable certificate

Continue the original guided missions