Do you want to pick up from where you left of?
Take me there

Lessons: Basics

Lessons covering the foundational topics. New to Elixir? This is the place to start.


Getting started, basic data types, and basic operations.


Lists, tuples, keyword lists, and maps.


A set of algorithms for enumerating over enumerables.

Pattern Matching

Pattern matching is a powerful part of Elixir. It allows us to match simple values, data structures, and even functions. In this lesson we will begin to see how pattern matching is used.

Control Structures

In this lesson we will look at the control structures available to us in Elixir.


In Elixir and many functional languages, functions are first class citizens. We will learn about the types of functions in Elixir, what makes them different, and how to use them.

Pipe Operator

The pipe operator |> passes the result of an expression as the first parameter of another expression.


We know from experience it’s unruly to have all of our functions in the same file and scope. In this lesson we’re going to cover how to group functions and define a specialized map known as a struct in order to organize our code more efficiently.


Before we can dive into the deeper waters of Elixir we first need to learn about Mix. If you’re familiar with Ruby, Mix is Bundler, RubyGems, and Rake combined. It’s a crucial part of any Elixir project and in this lesson we’re going to explore just a few of its great features. To see all that Mix has to offer in the current environment run mix help.

Until now we’ve been working exclusively within iex which has limitations. In order to build something substantial we need to divide our code up into many files to effectively manage it; Mix lets us do that with projects.


Working with and creating sigils.


Documenting Elixir code.


List comprehensions are syntactic sugar for looping through enumerables in Elixir. In this lesson, we’ll look at how we can use comprehensions for iteration and generation.


Strings, Char Lists, Graphemes and Codepoints.

Date and Time

Working with time in Elixir.