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