Course Overview

What this Lua Programming course covers, how to use it, prerequisites.

A structured, hands-on course on the Lua programming language. It runs from your first print to tables (Lua's only data structure), functions and closures, metatables and metamethods, object-oriented programming, modules, coroutines, error handling, string patterns, the standard library, garbage collection, the C API (embedding and extending), LuaJIT and FFI, and real-world Lua in game development (LÖVE, Roblox/Luau, Defold), Neovim, web servers (OpenResty), Redis, and embedded systems.

Targets Lua 5.4 (with notes on 5.1/LuaJIT, 5.2, 5.3, and the upcoming 5.5). Version differences are marked. Check your interpreter with lua -v.

Course Overview

Beginners, game developers, Neovim users, embedded/C/C++ developers, web/infra engineers (Nginx, Redis)

Basic computer literacy. No programming experience needed for Part I. C knowledge helps for Part VI.

~70–90 hours (self-paced), 10–11 weeks Lua 5.4 interpreter, LuaRocks, an editor (VS Code + "Lua" by sumneko/LuaLS, Neovim, ZeroBrane Studio)

Online REPLs (lua.org/demo.html, OneCompiler), Exercism Lua track, LÖVE games, Neovim configs, Advent of Code

Foundations → Functions & Tables → Metatables & OOP → Modules, Errors, Coroutines → Std Library → C API & JIT → Ecosystem → Production
(1–8)         (9–15)               (16–20)            (21–25)                       (26–31)       (32–37)       (38–46)     (47–52)