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)