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

Best Courses Guides

10 Best Elixir Courses for 2024: Pragmatic FP for the Web

Master the language of scalable, fault-tolerant, and concurrent applications with the best FREE and paid Elixir and Phoenix courses.

Quick Access:


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, as well as its Ruby on Rails equivalent (and better), Phoenix.

Click on the shortcuts for more details:

Our Top Picks. Click to skip to the course details:

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 300+ companies such as Discord, Pepsico, 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 2023.

And if you speak Portuguese, you may be interested in this recent interview with José Valim, who created Elixir.

Resources Overview

  • Some of the courses require basic familiarity with programming
  • One course is in Spanish and the others are all in English
  • Around 1.2K people are following the Elixir Subject on Class Central.

Best Free Comprehensive Elixir Course for all Levels (Elixir School)

Elixir School is a free, open source text-based resource for learning the Elixir programming language. The reason why I mentioned this course first 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. 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.

You’ll learn these topics and more:

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

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.

Provider Elixir School
Instructor Sean Callan
Level All levels
Workload N/A
Exercises Code-based exercises
Certificate None

Best Free Concise Elixir Course for Beginners (Tensor Programming)

No knowledge of functional programming or Elixir is required to take the 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). 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.

What you’ll learn:

  • The background of Elixir programming language, built on Erlang VM
  • Programming concepts: data types, functions, control flow structures
  • Introduction to Elixir concepts: pattern matching syntax, guards, macros
  • Recursion and first-class functions in Elixir’s functional programming paradigm
  • Use the pipe operator to manage large streams of data
  • Explore data visibility and abstraction, supporting CRUD operations on immutable data structures
  • Understand processes and concurrency in Elixir through message passing
  • Implement generic server process using OTP for common tasks including state maintenance and message handling.
Channel Tensor Programming
Provider YouTube
Level Beginner
Workload 3–4 hours
Views 50K
Likes 761
Exercises Follow provided examples
Certificate None

Most Comprehensive Free Elixir Course for Spanish Beginners (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 more advanced Elixir.

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

Learn how to:

  • Install Elixir and use IEx interactive shell
  • Understand basic data types: integers, floats, strings
  • Work with data types through assignments, logical operators, pattern matching
  • Define and use functions, including anonymous and recursive functions
  • Explore advanced topics: pipe operator, modules, mix tool
  • Implement concurrent and parallel processes using GenServer
  • Learn protocols, behaviors, and custom data types
  • Deploy Elixir applications for online access.

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

Channel Martin algañaraz
Provider YouTube
Level Beginner
Workload 28 hours
Views 8.1K
Likes 72
Exercises Follow as the instructor codes
Certificate None

Best Free Structured Elixir Exercise Provider with Mentoring (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 help you understand your code’s strengths and flaws and 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.

Learning mode:

  • 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
  • Syllabus 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 strengthen what you’ve just learned
  • Exercises include easy tasks like creating ciphers to difficult tasks like implementing a basic reactive system.

Practice mode:

  • Choose from any exercises of three different difficulties as you feel confident enough to tackle them.

Exercism provides exercises on 70 programming languages including 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.

Provider Exercism
Contributors 290+
Mentors 790+
Level All levels
Workload N/A
Enrollments 41.9K
Exercises 150+ hands-on exercises with automatic feedback plus optional personal mentoring
Certificate None

Best Paid Course for Experienced Programmers (The Pragmatic Studio)

If you’re an experienced programmer who wants to learn Elixir or improve your Elixir skills, Elixir & OTP is for you! The course uses screencasts, animations, text, and exercises to break complex topics down into understandable chunks, and teaches Elixir by building a HTTP server. The Elixir community recommends The Pragmatic Studio courses to be top notch and great value for money.

You will learn:

  • Intro and Setup
    • Create a mix project watch, high-level transformations watch, pattern watching watch, advanced pattern matching, and pattern matching maps
    • Immutable data, function clauses, module attributes and organizing code
  • Modeling and data handling
    • Modeling with structs, matching heads and tails, recursion, slicing and dicing with enum, and comprehensions
  • Web development with Elixir
    • A peek at Phoenix, serving files, rendering JSON and web server sockets
  • Concurrency and processes
    • Concurrent, isolated processes, sending and receiving messages, asynchronous tasks, stateful server processes, refactoring toward GenServer, OTP GenServer, linking processes,  fault recovery with OTP supervisors, and a final OTP application.
Provider The Pragmatic Studio
Instructors Mike and Nicole Clark
Level Intermediate
Workload 6 hours plus exercises
Exercises Coding exercises and projects
Certificate None

Also Great Self-Paced Hands-On Elixir Course (DockYard-Academy)

DockYard-Academy has made their previously paid Elixir curriculum on Livebook available for free and open-source. Download the source-code zip file and work on the curriculum in Livebook or GitHub and become a highly qualified Elixir developer.

Learn:

  • Fundamentals: basics, data structures and intro to pattern matching, control flow and abstraction, modules and structs, enumeration, comprehensions and non-enumerable data types, string manipulation, recursion
  • Mix projects: Elixir build tooling, testing with ExUnit, documentation and static analysis, executables
  • Advanced syntax: advanced pattern matching, guarding, protocols, persistence using the file system
  • OTP: processes, testing GenServers, supervisor basics and fault tolerance, concurrency with tasks
  • Phoenix: HTML And CSS, APIs, relational databases, testing Phoenix, forms and components, Phoenix and Ecto one-to-many associations, and Phoenix authentication
  • LiveView: authentication, image uploads, PubSub, JS interoperability and pagination
  • Capstone project
  • Bonus topics include performance optimization, metaprogramming, queues, and Rubix Cube project.
Channel DockYard-Academy
Provider GitHub
Level Beginner
Workload 3 months
Exercises Hands-on coding exercises
Certificate None

Best Elixir Textbook (Saša Jurić)

If you prefer to learn from a book, or want a paper reference, Elixir in Action by Saša Jurić is THE Elixir book. The third edition was released in February 2024. And although the paper edition is for sale, you can read the entire book online for free!

This book is for programmers comfortable with client/server applications, but you don’t need experience with Elixir, Erlang, or functional programming.

The book is divided into three parts:

  • Part 1 Functional Elixir: first steps, building blocks, control flow, data abstractions
  • Part 2 Concurrent Elixir: concurrency primitives, generic server processes, building a concurrent system, fault tolerance basics, isolating error effects, beyond genserver
  • Part 3 Production: working with components, building a distributed system, running the system.
Publisher Manning
Author Saša Jurić
Prerequisites Programming experience with client/server applications
Level Beginner
Workload 416 pages
Certificate None

Best Elixir and Phoenix Course for Ruby Developers (Phoenix on Rails)

So, you know Ruby on Rails, and want to expand your experience? Phoenix is a web framework built with Elixir and was rated the world’s most admired web framework in the 2023 Stack Overflow developer survey.

You can receive the first part of Phoenix on Rails (learning Elixir) for free, then pay for the other six parts. With the latest version as of 2023 (Elixir 1.16, Phoenix 1.7, and LiveView 0.20.), you’ll receive free course updates whenever they are released. It won’t teach you how to build a web server, but it does a good job of explaining the differences between Ruby and Elixir.

This course will teach you:

  • Elixir basics; differences and similarities between Ruby and Elixir
  • The functional paradigm: recursion, pattern matching, pipe operator
  • Elixir’s types and data structures in terms that make sense to a Ruby developer
  • Use Phoenix to build a simple app and learn Ecto to query and update your database
  • Discover legacy code to cope with outdated tutorials
  • Advanced features include dependency management, Erlang interoperability, and tricky Elixir keywords
  • Add features to your CRUD app and study the output of Phoenix scaffolds
  • Add interactive behavior to your UI with LiveView, arguably Phoenix’s killer feature
  • Document types using typespecs and validate them using Dialyzer and Dialyxir
  • Update your Phoenix app to serve a RESTful API via JSON and become adept at creating APIs to serve any front-end application
  • Build a new, more advanced app from scratch, plus more. Everything is explained intuitively for Rails developers.
Provider Phoenix on Rails
Instructor George
Pre-requisites Ruby on Rails
Workload 72 written lessons
Certificate None

Also Great Paid Course for Programmers (The Coding Gnome)

Mastery comes from understanding the underlying concepts, tools, and frameworks. Elixir for Programmers, Second Edition has videos to show you stuff, text to give you facts, quizzes to help you remember, and exercises to let you practice.

Syllabus:

  • Welcome and getting started, first project
  • Elixir types, pattern matching, coding, write a text-based client
  • Refactor the dictionary, processes and maintaining state, use an agent for the dictionary
  • Applications: making our code independent
  • Add a supervisor to the dictionary
  • Nodes and Distributed Elixir
  • Hangman: the OTP server, make the Hangman server free-standing
  • Distributed text clients
  • Installing Phoenix
  • Hangman using HTML Pages, introduction to LiveView and Hangman using LiveView.

The course is a little outdated, but you can access an updated version.

Dave Thomas wrote the book Programming Ruby in 2000. More recently, he wrote Programming Elixir and is an author of the Manifesto for Agile Software Development.

Provider The Coding Gnome
Instructor Dave Thomas
Level Beginner
Workload 9 hours plus exercises and quizzes
Certificate None

Also Great Elixir Video Course (freeCodeCamp)

By the end of Functional Programming with Elixir, you’ll be able to build your own Elixir applications and confidently apply functional programming concepts. Released in May, 2023, it’s designed for anyone with some basic knowledge of programming.

What you’ll learn:

  • What are Elixir, functional programming, and recursion?
  • Installing Elixir & setting up VS code
  • Learning & unlearning, pattern matching, LiveBook, and immutability
  • Hello World in Elixir
  • Data Types: atom, string, charlist, process & list, tuples & keyword list, maps, struct
  • Flow control, mix project, head & tail recursion, sum digits, factorial, reverse number
  • Lists: LinkedList, list sum, reverse list,list map
  • Concat, FlatMap, mid review, seven wonders, for comprehension, expense manager
  • Project stats

Find the GitHub files for the course here.

Provider YouTube
Channel freeCodeCamp
Instructor Octallium
Level Beginner
Views 87K
Workload 5 hours
Exercises Follow as the instructor codes
Certificate None

What Next?

  • Join community forums to ask and answer questions about Elixir
  • Keep practicing and using Elixir so your new-found knowledge doesn’t get rusty.

Why You Should Trust Us

Class Central, a Tripadvisor for online education, has helped 60 million learners find their next course. We’ve been combing through online education for more than a decade to aggregate a catalog of 200,000+ online courses and 200,000 reviews written by our users. And we’re online learners ourselves: combined, the Class Central team has completed over 400 online courses, including online degrees.

Best Courses Guides (BCG) Methodology

I built this guide 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 and the internet. Then, I made a preliminary selection of 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. Selection criteria includes comprehensive curriculum, affordability, release date, ratings and enrollments.

Pat revised the research and the latest version of this article.

Best Courses Guides. Start Learning, Stop Procrastinating.

Elham Nazif Profile Image

Elham Nazif

Part-time content writer, full-time computer science student.
Pat Bowden Profile Image

Pat Bowden

Online learning specialist, still learning after 200+ online courses completed since 2012. Class Central customer support and help since 2018. I am keen to help others make the most of online learning, so I set up a website:  www.onlinelearningsuccess.org

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