Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Best Courses Guides

8 Best Free Elixir Courses to Take in 2023

Become an Elixir Pro: learn from the top free online courses – master the language of high-performance applications.

Elixir is as magical as its name sounds.

By magical, I don’t mean that you need to memorize thousands of obscure incantations and syntax rules to use it — far from it (if you like Ruby, you’ll like Elixir). And I also don’t mean that only a select few from the academy of programming wizards can use it effectively — you can count on Elixir’s supportive community of developers and growing ecosystem of tools for that.

Instead, what I mean by magical is by how you can conjure lightning-fast scalable and reliable applications with ease. Its secret ingredient? The Erlang Virtual Machine, specially designed for concurrent systems. And mixed with the functional programming style, you can cast spells of clean and expressive code that is simple to understand and maintain.

That’s why many high-volume applications (like Discord and Pinterest) trust Elixir to handle traffic generated from its millions of users. In fact, systems written in Elixir almost never fail during production thanks to some clever engineering.

Have you fallen under Elixir’s spell yet? Read on more to see my top picks for the best course to learn Elixir.

Click on one to skip to the course details:

Course Workload In Brief
1. Elixir School (Elixir School) N/A Best free comprehensive Elixir course for all levels
2. Intro to Elixir (Tensor Programming) 3–4 hours Best free concise Elixir course for beginners
3. Begin learning Elixir (Alchemist Camp) 6–7 hours Best free comprehensive project-based Elixir course for beginners
4. Learn Elixir (TechWeber) 6 hours Best free alternative to 2.
5. Curso de Elixir de 0 a 100 (Martin Algañaraz) 28 hours Best and most free comprehensive Spanish Elixir course for beginners
6. Discover Elixir & Phoenix (Ludu) N/A Best free introductory article-based Elixir course
7. Elixir (Exercism) N/A Best free structured Elixir learning resource and exercise provider with mentoring
8. 30 Days of Elixir (Tim Morgan) N/A Best free paced exercise-based Elixir course

What is Elixir?

Elixir is a functional, dynamically-typed language designed for building scalable and maintainable applications. It was created by José Valim in 2011, who wanted to combine the concise, expressive syntax of Ruby with the concurrent and fault-tolerant Beam VM used by the Erlang programming language.

To detract for a moment, Erlang is a language developed in the 1980s for the Beam VM that was used to build reliable, distributed systems (such as those used in telecommunications), to great success. It uses the Actor model of concurrency, in which independent entities called actors communicate with each other by sending and receiving messages. Thanks to this model, high-volume concurrency can be achieved while being lightweight.

However Erlang, as it was originally developed for telecommunications, lacked the modern features and syntax needed for modern development. Hence, Elixir builds upon the strength of Erlang by extending its features while at the same time having a much simpler syntax for beginners to read, test, and write code.

That’s why 600+ companies such as Discord, Pinterest, and Heroku use Elixir to handle astonishingly large amounts of traffic and data on a consistent basis with little to no downtime. Along with Elixir’s extensive tooling and frameworks, such as Phoenix for web development, Ecto for databases, and ExUnit for unit testing, there are many reasons why Elixir is a great choice for programmers looking into data-intensive fields. Additionally demand for Elixir developers will probably increase as the world becomes more data-oriented, and perhaps that is why Elixir developers are the 5th most paid programmers according to the Stack Overflow Developer Survey 2022.

Find your next course on Class Central

Best Courses Guides Methodology

I built this ranking following the now tried-and-tested methodology used in previous Best Courses Guides (you can find them all here). It involves a three-step process:

  1. Research: I started by leveraging Class Central’s database with 100K online courses and 200K+ reviews. Then, I made a preliminary selection of 20+ Elixir courses by rating, reviews, and bookmarks.
  2. Evaluate: I read through reviews on Class Central, Reddit, and course providers to understand what other learners thought about each course and combined it with my own experience as a learner.
  3. Select: Well-made courses were picked if they presented valuable and engaging content and they have to fit in a set of criteria and be ranked accordingly: comprehensive curriculum, affordability, release date, ratings and enrollments.

Course Ranking Statistics

Here are some aggregate stats about the ranking:

  • All of the courses in this ranking are free.
  • All of the courses in this ranking require some basic familiarity with programming.
  • All of the courses in this ranking are in English while one is in Spanish.
  • None of the courses in this ranking require knowledge of functional programming.
  • Around 480 people are following the Elixir topic on Class Central.

Without further ado, let’s go through the top picks.

1. Elixir School (Elixir School)

My #1 pick for the best Elixir course is Elixir School.

Elixir School is a free, open source resource for learning the Elixir programming language. The reason why I chose this as the #1 pick is because of how comprehensive its curriculum is. It covers the Elixir fundamentals all the way to the more advanced concepts of the language, along with popular Elixir tools and frameworks like OTP and Ecto.

Elixir School can be taken by learners of all levels, and includes examples, explanations, and a collection of coding exercises to help you practice and apply the concepts learned in the lessons.

What You’ll Learn

Elixir School covers lessons on 8 various topics, some of which are:

  • Basics:
    • The course covers programming concepts common to many languages, such as data types, modules, control structures, functions, and collections.
    • However, the course also delves into the unique features of Elixir, such as pattern matching, the pipe operator, the Mix build tool, sigils, comprehensions, and more, that help you write concise and expressive code.
  • Intermediate:
    • You’ll learn how to handle errors and exceptions in Elixir using control structures and functions.
    • Concurrency is also made easy in Elixir. You’ll learn about Elixir’s actor module and how it can help you write concurrent, parallel code.
    • You’ll also learn how to interoperate Elixir code with Erlang, create standalone executables, and define your own Mix tasks.
  • Advanced:
    • You’ll study the OTP libraries and design patterns, including concurrency, supervisor, and distributions, to help you build scalable and fault-tolerant systems in Elixir.
    • Other more advanced concepts such as metaprogramming, umbrella projects, specifications, types, behaviors, and protocols will be covered.

In addition to the core language topics, the course also covers a range of libraries and tools that can be used to test code, process data, store data, and work with databases in Elixir.

How You’ll Learn

Elixir School covers 8 topics in total. You’ll learn by reading through the course articles and completing the code exercises given.

Provider Elixir School
Instructor Sean Callan
Level All levels
Workload N/A
Certificate None

Fun Facts

  • Sean Callan is a passionate software engineer with 20 years of experience. He has built companies, designed and developed critical business systems, and led teams on multi-billion dollar government contracts.
  • Elixir School is fully open-sourced, that means that anyone can contribute to help improve the website, translate the lessons, or write for their blog.
  • This course has been translated (partially or fully) into 20 languages, including German, Spanish, Mandarin, Russian, and Japanese.

If you’re interested in this course, you can find more information about the course and how to enroll here.

2. Intro to Elixir (Tensor Programming)

My 2nd pick for the best Elixir course is Intro to Elixir YouTube series by Tensor Programming.

This course is an excellent introduction to Elixir, as it teaches Elixir in a concise and expressive manner (just like the language itself).

No knowledge of functional programming or Elixir is required to take this course.

What You’ll Learn

The course begins by giving a background of the Elixir programming language, how it is built on the Erlang VM. Then, you’ll study familiar programming concepts like data types, functions, and control flow structures. But, you’ll also add on some valuable Elixir concepts like its pattern matching syntax, guards, and macros.

Recursion and first-class functions are common-place in Elixir, as Elixir is a functional programming language. So, as almost everything you’ll use is a function, you’ll look at how the pipe operator is used to pipe the results of one function to another, and how it serves a useful role in managing large streams of data. Specifically, you’ll learn about data visibility and data abstraction, including supporting basic CRUD operations on data structures. Although data structures in Elixir are immutable, you’ll find them reasonably efficient and pragmatic.

Then, the course discusses the concept of processes and concurrency in the language through the context of processes and message passing. You’ll implement a generic server process using OTP and learn how to abstract common tasks like maintaining state, reacting to messages, and sending responses.

How You’ll Learn

This course is 3–4 hours long. You’ll learn by watching the lecture videos and following along with the code examples provided.

Channel Tensor Programming
Provider YouTube
Level Beginner
Workload 3–4 hours
Views 20K
Likes 551
Certificate None

Fun Facts

  • Tensor Programming aims to educate people on how to program in many various languages, like Dart, Clojure, Kotlin, Rust, and Go. The channel contains

programming tutorials as well as live coding sessions that go along with the Tensor Programming Blog posts.

If you’re interested in this course, you can find more information about the course and how to enroll here.

3. Begin learning Elixir (Alchemist Camp)

My 3rd pick for the best Elixir course is the Begin learning Elixir path from Alchemist Camp.

If you have some programming experience but do not have any experience with Elixir, you should try out this course. Why? Because this course is free and project-based, meaning that you’ll learn by doing — a much more engaging and fruitful way of learning (for me at least).

You’ll start with simple projects that don’t require any dependencies and gradually work your way up to more advanced projects that use Mix, Ecto, HTTPoison, Phoenix, and more.

What You’ll Learn

This course is a project-based course. After setting up your development environment you’ll build the following:

  • A simple guessing game using IO, functions, and modulo arithmetic in Elixir to let you have a taste of Elixir syntax.
  • A CLI script that counts the words in a file, including reading files, splitting files into words, and working with regular expressions.
  • A CLI Todo list app that reads and parses CSVs into an Elixir map and takes commands from user input, introducing tuples and atoms.
  • An implementation of a minimal subset of Markdown in Elixir using Mix and a processing pipeline of regex replace functions.
  • Another CLI script that can handle arguments and read a file.
  • A Tic Tac Toe game board in Elixir using comprehensions, MapSet, module structs, enforced keys, pattern matching, and states.
  • And finally, an app that fetches stats from YouTube and logs them every 6 hours into a database using HTTPoison, Poison, an OTP app to supervise a scheduler, and Ecto for database handling.

How You’ll Learn

This course is 6–7 hours long. You’ll learn by watching the lecture videos, going through the course projects, interacting with other learners in the discussion section, and completing the challenges given.

Provider Alchemist Camp
Level Beginner
Workload 6–7 hours
Certificate None

Fun Facts

  • Alchemist Camp is a website and channel focused on providing Elixir programming screencasts. Often, these screencasts involve helping beginners build fully-fledged projects. They also provide code snippets and challenges, and offer a premium membership.

If you’re interested in this course, you can find more information about the course and how to enroll here.

4. Learn Elixir (TechWeber)

Learn Elixir from TechWeber covers everything you need to know about Elixir programming. By the end of this course, you will have a thorough understanding of Elixir and be able to effectively use it in your own projects.

Some programming experience is required to take this course.

What You’ll Learn

You’ll start this course by learning the fundamentals, including the basic data types and how to use basic operators. You’ll then delve into more advanced topics, such as pattern matching and control flow structures, as well as learning how to use Elixir modules and functions.

In the next section of the course, you’ll delve into important concepts like recursion, enumerables, and streams, that can help you iterate over collections of data. You’ll also learn about processes, which are used to concurrently execute code and communicate between different parts of your application, along with the file system for reading and writing files.

Moving on, you’ll see how you can import and use modules and structs. Additionally, you’ll take a look at how Elixir is extremely fault-tolerant thanks to its robust error handling mechanisms.  You’ll also learn how to create and use protocols, as well as comprehensions and error mechanisms. Finally, you will delve into typespecs and behaviors, protocols and comprehensions, and Mix — Elixir’s build tool.

How You’ll Learn

This course is 6 hours long. You’ll learn by watching the lecture videos and following along with the code examples provided.

Channel TechWeber
Provider YouTube
Level Beginner
Workload 6 hours
Certificate None

Fun Facts

  • TechWeber provides free video training courses on programming to users and beginners, including languages like Python, HTML, PHP, Node JS, MongoDB, MySQL and Web.

If you’re interested in this course, you can find more information about the course and how to enroll here.

5. Curso de Elixir de 0 a 100 (Martin algañaraz)

Curso de Elixir de 0 a 100 is a free comprehensive introduction to the Elixir programming language in Spanish, teaching the basics all the way to the more advanced part of Elixir.

No knowledge of Elixir programming is required to take this course.

What You’ll Learn

The course begins by showing you how to install Elixir on your system and use the IEx interactive shell for experimenting with Elixir code. You will learn about basic data types like integers, floats, and strings, and how to work with them using assignments, logical operators, and pattern matching. You will learn how to define and use functions in Elixir, including anonymous functions (lambdas) and recursive functions.

In addition to learning about core Elixir concepts, you will also learn about more advanced topics such as the pipe operator, modules, and the mix tool. But you’ll also study the most exciting feature of Elixir: implementing concurrent and parallel processes using GenServer. Then, you’ll learn about protocols, behaviors, and how to define and use custom data types. Finally, you figure out how you can deploy Elixir applications for the Internet to see.

How You’ll Learn

This course is 28 hours long. You’ll learn by watching the lecture videos and following the instructor as he codes throughout the course.

Channel Martin algañaraz
Provider YouTube
Level Beginner
Workload 28 hours
Views 1.3K
Likes 62
Certificate None

Fun Facts

  • Martin is a developer specializing in backend development and distributed systems. He loves learning different programming languages, paradigms, frameworks, and libraries.

If you’re interested in this course, you can find more information about the course and how to enroll here.

6. Discover Elixir & Phoenix (Ludu)

Discover Elixir & Phoenix is a free text-based course for beginners. If you’re learning Elixir for web development, this course is for you, as Phoenix is a web framework for Elixir.

Some programming experience is required to take this course.

What You’ll Learn

First off, the course covers the fundamentals of Elixir, like data types, atoms, control structures, and common data structures like lists and tuples. Then, you’ll see how to use pattern matching to easily extract data from complex data structures and perform different actions based on different patterns. Elixir’s build tool, Mix, will also be introduced to help you with your development needs.

Next, you’ll take a look at Phoenix and explore its wonderful plethora of features for web development. You’ll build the first pages of a web application called Messsengyr, a simplified version of Facebook Messenger. You’ll use templates, views, forms, and other structures you’d expect to see in a typical web development toolset. You will also learn how to integrate Phoenix with React and Redux. Other topics covered include authentication, database management with Ecto, and building a JSON API.

Finally, the course teaches you how to handle real-time events using Phoenix’s channels and websockets. You’ll learn how to implement sending and receiving messages, and then document and test the code before deploying it to the web.

How You’ll Learn

The course consists of 22 lessons. You’ll learn by reading through the course articles and implementing the code examples on your machine.

Provider Ludu
Author Tristan Edwards
Level Beginner
Workload N/A
Certificate None

Fun Facts

  • Tristan is a developer and designer. Ludu was his side-project while he was studying at KTH. Now, there are about a dozen courses teaching various programming languages and frameworks (in English and Swedish) on Ludu.

If you’re interested in this course, you can find more information about the course and how to enroll here.

7. Elixir (Exercism)

Exercism is a free online coding platform that offers a variety of programming exercises and challenges for all skill levels. It is a great resource for practicing your Elixir coding skills.

What sets Exercism apart from other exercise-based sites is its free mentoring service, which allows you to request personalized feedback from experienced Elixir programmers if you are stuck on a particular exercise or want to improve your code.

In addition, Exercism has a dedicated learning track for Elixir with a structured syllabus that guides you through a series of exercises designed to teach you the language concepts gradually. This makes it an excellent resource for learning Elixir in a structured, step-by-step manner.

What You’ll Learn

This course is divided into two sections: learning mode and practice mode.

In learning mode, you must complete learning exercises to unlock other exercises in the syllabus tree. This helps to ensure that you are not presented with problems that are too difficult for your current skill level.

The syllable contains concepts such as Elixir basics, anonymous functions, data types like floating points and booleans, data structures, conditional statements, regular expressions, and a lot more! Each topic starts with a learning exercise, and then some coding exercises of various difficulty to help you strengthen what you’ve just learned. These exercises may include easy tasks like creating ciphers to difficult tasks like implementing a basic reactive system.

In practice mode, you can choose from any exercises of three different difficulties as you feel confident enough to tackle them.

How You’ll Learn

This course is self-paced, so you can take all the time you need to complete the 150+ hands-on programming exercises. Each exercise comes with automatic feedback of your code as well as personal mentoring to help you understand your code’s strengths and flaws.

Provider Exercism
Level All levels
Workload N/A
Enrollments 32K
Certificate None

Fun Facts

  • Exercism provides exercises on 50+ programming languages like Python, Kotlin, F#, and even WebAssembly.
  • Their mission is to help everyone get really good at programming, regardless of their background, share the love of programming, and help people upskill as part of their upward social mobility.
  • Around 260 people have contributed towards the Elixir syllabus and exercises, with over 600 mentors available at the time of writing.

If you’re interested in this course, you can find more information about the course and how to enroll here.

8. 30 Days of Elixir (Tim Morgan)

30 Days of Elixir is a walkthrough of important concepts and structures in the Elixir language, one exercise per day for 30 days. Just like Exercism, this walkthrough is best paired with other learning resources in this ranking to make the best use of your time.

What You’ll Learn

The first exercise in this course is of course the simplest one, where you’ll print a message to the world. This gives you a taste of the language’s syntax and structure. Then, you’ll immediately cover the built-in unit testing library as you’ll be using it for other exercises. Afterward, you’ll learn about file input and user input, data structures and manipulation such as list, maps, and records, and then implement the fibonacci sequence using recursion, overloading, pattern matching, and guard clauses. You’ll learn how to use processes to send messages back and forth between nodes.

The rest of the exercises involve building projects. For example, you’ll make a Sudoku board and then a Sudoku solver to solve your Sudoku board. You’ll also learn how to make a multiplayer game of Spades, a quine (a program that prints its own source code), solve logic problems, and most importantly, make web applications.

How You’ll Learn

30 Days of Elixir consists of 30 exercises and is designed to be completed over the course of 30 days, with one exercise completed per day. The exercises are designed to be hands-on learning experiences, through which you will gain practical skills and knowledge.

Provider GitHub
Author Tim Morgan
Level Beginner
Workload N/A
Certificate None

Fun Facts

  • This course has 3K stars on GitHub.
  • Tim is a software developer with 20 years of experience. He has a YouTube channel where he posts his coding sessions and programming tutorials.

If you’re interested in this course, you can find more information about the course and how to enroll here.

Elham Nazif Profile Image

Elham Nazif

Part-time content writer, full-time computer science student.

Comments 0

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Browse our catalog

Discover thousands of free online courses from top universities around the world like MIT, Stanford, and Harvard.

Browse all subjects