Foundations
Start your Elixir journey with the basics -- installation, data types, pattern matching, and control flow. Hands-on beginner lessons with code examples.
Phase 1 is where you build reliable mental models for Elixir syntax, data, and flow control. If you are new to functional programming, this phase is the most important one to slow down and practice deliberately. The lessons are designed to move from setup and quick wins into core language mechanics you will reuse everywhere else in the curriculum.
You will start with Getting Started, then move through Basic Types, Pattern Matching, and Control Flow. By the end of this phase, you should be comfortable reading simple Elixir code and writing small scripts in IEx or a Mix project.
Who this phase is for:
- Developers new to Elixir who want a practical ramp-up.
- Engineers coming from Python, JavaScript, Ruby, or Go who need to understand Elixir idioms quickly.
- Learners who want to avoid copy-paste coding and instead understand why Elixir code is structured the way it is.
What you should be able to do after this phase:
- Set up Elixir and use IEx productively.
- Work confidently with core data types and pattern matching.
- Use
case,cond,if, guards, andwithin the right situations. - Read beginner-level Elixir docs and examples without friction.
Common pitfalls to watch for:
- Treating
=like assignment instead of pattern matching. - Confusing atoms and strings in conditionals and map keys.
- Reaching for mutable-state habits instead of expression-based control flow.
Before moving to the next phase, make sure you can complete the exercises without looking up every syntax detail. That fluency will pay off immediately in Core Language and OTP topics.
Getting Started
Install Elixir, explore the IEx interactive shell, and create your first Mix project. A beginner-friendly guide with code examples comparing Elixir to Python and JavaScript.
Basic Types
Learn Elixir's fundamental data types -- integers, floats, atoms, booleans, strings, and ranges. Includes comparisons with Python and JavaScript equivalents.
Pattern Matching
Master Elixir's pattern matching -- the match operator, destructuring tuples, lists, and maps, the pin operator, and matching in function heads.
Control Flow
Master Elixir's control flow constructs -- case, cond, if/unless, the with statement, and guard clauses. Includes practical examples with Python and JS comparisons.