Course Overview
What this Erlang course covers, how to use it, prerequisites.
A self-contained, hands-on course covering the Erlang language, its standard library, concurrency and fault tolerance with processes, the OTP framework, distribution, BEAM internals, and the modern tooling ecosystem (rebar3, Hex, Common Test, Cowboy). Every chapter has runnable examples and exercises.
Course Map
Part I — Foundations Introduction to Erlang Installation & Tooling The Erlang Shell & Your First Module Operators & Term Ordering Variables & Pattern Matching Modules & Functions Guards & Conditional Expressions Higher-Order Functions & Funs
Part II — Core Language & Standard Library Lists & the lists Module Tuples, Records & Maps Strings & Unicode Binaries & the Bit Syntax Errors & Exceptions
Data Structures: proplists, dict, orddict, gb_trees, sets, array, queue, digraph The Preprocessor: Macros & Includes Type Specifications & Dialyzer Building Projects with rebar3 Testing: EUnit, Common Test & PropEr
Part III — Concurrency, OTP & Advanced Erlang Processes & Message Passing
Links, Monitors & Error Handling Between Processes OTP Introduction & gen_server gen_statem — State Machines
gen_event, sys, proc_lib & Special Processes ETS, DETS & Mnesia
Networking: gen_tcp, gen_udp, socket & SSL Ports, NIFs, Port Drivers & C Nodes Releases & Hot Code Upgrades Logging, Tracing & Debugging BEAM Internals & Performance Modern Erlang Features (OTP 25–28) Part IV — Ecosystem & Real-World Erlang
Web Development: Cowboy, Nova & HTTP Clients Standard Library Tour: crypto, ssl, json, zip, calendar, rand & more
Interoperability: Elixir, Gleam, LFE & Other Languages Best Practices, Design Principles & Security
Appendices: Cheat Sheet, Keywords, BIFs, Resources, Study Plan