Course Overview
What this Elixir course covers, how to use it, prerequisites.
A self-contained, hands-on course covering the Elixir language, its standard library, functional programming on the BEAM, concurrency with processes and OTP, metaprogramming, and the ecosystem (Mix, Hex, Phoenix, Ecto, LiveView, Nerves, Nx). Every chapter has runnable examples and exercises.
Course Map
Part I — Foundations Introduction to Elixir Installation & Tooling IEx and Your First Program Modules & Named Functions
Control Flow: case, cond, if, unless, with Part II — Core Language & Standard Library Lists, Tuples, Keyword Lists & Maps The Enum Module Streams & Laziness Strings, Binaries, Charlists & Unicode Sigils & Regular Expressions The Pipe Operator & Idiomatic Data Flow alias, require, import, use & Module Attributes
Typespecs, Dialyzer & the Gradual Type System IO, Files, Paths & the System Dates, Times & Calendars
Mix Projects, Dependencies & Configuration Testing with ExUnit
Documentation, Formatting & Code Quality Part III — Concurrency, OTP & Advanced Elixir Links, Monitors & Fault Tolerance Supervisors & Supervision Trees
Registry, DynamicSupervisor & PartitionSupervisor Applications & the OTP Design ETS, DETS,:persistent_term & Mnesia
Metaprogramming: Quote, Unquote & Macros Building DSLs & use Erlang Interop, Ports & NIFs
Data Pipelines: GenStage, Flow & Broadway Logger, Telemetry & Observability Performance & BEAM Internals
Releases, Deployment & Hot Code Upgrades Part IV — Ecosystem & Real-World Elixir Ecto & Databases
Other Key Libraries (Oban, Absinthe, Req, Jason, Nerves, Nx, Livebook) Best Practices & Design Patterns
Appendices: Cheat Sheet, Operators, Resources, Study Plan