You're a programmer, so you don't need spoon feeding with the conventional drivel about "this is an integer." No. You need to know what's different, and you want to know quickly.

Dave does it again. The man who discovered Ruby and launched it in the United States is now applying a new approach to teaching Elixir. The approach gives you enough structure to get started, but what makes it special is the time dedicated to working through real-world problems carefully designed to build specific tactical and organizational skills. This course is a masterpiece. 
— Bruce Tate, entrepreneur, author of > 10 books

Can attest to this course! Everything I've done so far is well thought out, and extremely practical.
— Jack Schuss

…crucial in my re-learning of Elixir. A great, opinionated way to put theory into practice.
— Jaime Iniesta
, Spain

I love how much more comfortable i feel with Elixir after taking your course. I will use it to build up my new prototype.
— @allenwyma


But you want more. True mastery of Elixir comes from understanding the underlying idioms: functional programming, transformations, concurrency, and application structure. You need to know the tools, such as IEx and mix. And you need to understand the frameworks, such as OTP and Phoenix. This course will get you started down this road (and your experience will take you the rest of the way),

The course has videos to show you stuff, text to give you facts, quizzes to help you remember, and exercises to let you practice.

More and more developers are switching to Elixir. Take this course and join them.


Team discounts available. 

The course contains 80 units, and 8 hours of video.

(We host our videos on Vimeo, and they don't directly support higher-speed playback. If you use Chrome, this plugin seems to work.)

What others have been saying about this course:

5 star rating

Highly recommended!

Lars Jensen

I really like that this course puts so much emphasis on decoupling, and explores alternative ways to structure Elixir components in a way that is easy to fol...

Read More

I really like that this course puts so much emphasis on decoupling, and explores alternative ways to structure Elixir components in a way that is easy to follow. Instead of just being one of many resources that simply show the conventional approaches typically used in Phoenix/Elixir, it challenges some of those concepts and provides alternatives. Daves teaching style is very engaging and easy to follow along with. Highly recommended!

Read Less
5 star rating

Fantastic Course

Allen Wyma

I've been learning elixir for a while now, and I gained so much knowledge about applications and when to divide up my code. I feel so much more confident aft...

Read More

I've been learning elixir for a while now, and I gained so much knowledge about applications and when to divide up my code. I feel so much more confident after completing this course.

Read Less
5 star rating

The way to "Think in Elixir"

Vasileios Ntarlagiannis

So far, the course is amazing! It really helps the student to develop an Elixir way of thinking.

So far, the course is amazing! It really helps the student to develop an Elixir way of thinking.

Read Less
5 star rating

Excelent

Franco Catena

Awesome material, well split and sometimes _unconventional_. Great starting point in my opinion.

Awesome material, well split and sometimes _unconventional_. Great starting point in my opinion.

Read Less
star rating

Course Curriculum

  • 1

    Welcome

    • Here's What We'll Be Doing

  • 2

    Getting Started

    • Installing Elixir

    • Introduction to IEx

  • 3

    Our First Project

    • Introduction

    • Create a New Project

    • Run Some Code

    • Write the Dictionary Module

    • Refactor Into Pipelines

    • Onward!

  • 4

    A Mad Dash Through Elixir Types

    • Introduction

    • Integers and Floats

    • Atoms

    • Booleans

    • Ranges

    • Strings (and Sigils)

    • Regular Expressions

    • Tuples

    • Lists

    • Maps

  • 5

    Pattern Matching

    • Introduction

    • The Basics

    • Ignoring Values With Underscores

    • Pinning the Values of Variables

    • Pattern Matching Function Calls

    • Lists and Recursion

  • 6

    Write the Hangman Game

    • The Plan

    • Create the Application

    • Think About the API

    • Start Coding

    • And Start Testing

    • Pattern Matching Game State

    • Check for Duplicate Moves

    • Score a Good Guess

    • Score a Bad Guess

    • Refactor and Tidy Up

  • 7

    Text Interface to the Game

    • Introduction

    • Create the Project

    • Write the Main Player

    • Finish Up

  • 8

    Refactor the Dictionary

    • Our Dictionary Module Needs Help!

    • A Refactoring to Separate the API

  • 9

    Processes and Maintaining State

    • Why We're Looking at This Backwards

    • Spawning a New Process

    • Sending and Receiving Messages

    • Pattern Matching Messages

    • Linking Our Fate to Our Children's Fate

    • Agents—Simple State Holders

  • 10

    Using an Agent for the Dictionary

    • The Plan

    • Using an Agent for the Word List

  • 11

    Make the Dictionary a Free Standing Application

    • What IS an Application

    • Wrap the Dictionary

  • 12

    No, Mr Dictionary, I Expect You To Die

    • Nannies and Supervisors

    • Write the Supervisor

  • 13

    The Story So Far…

    • Supervisors and Servers

  • 14

    Hangman: the OTP Server

    • Fixing a Poor Judgement Call

    • Write a Hangman GenServer

    • Change the API to Use the Server

    • A Dynamic Cloud of Hangman Servers

    • Other People Write This Differently

  • 15

    Nodes and Distributed Elixir

    • Nodes and Naming

    • Sending Messages Between Nodes Using IEx

    • A Bigger Example—a Chain of Nodes

    • Implementing the Chain

  • 16

    Distributed Text Clients

    • A Quick API Change

    • From Server to Service

    • Use Hangman API Without Starting a Server

    • Start Remote Server When TextClient Starts

  • 17

    Getting Started with Phoenix

    • Introduction

    • Installing Phoenix (and a Rant)

    • Project Structure

    • Rendering

    • Assigns and @variables

    • Phoenix—a Toolkit, Not a Framework

  • 18

    Hangman and Phoenix

    • (Re)creating the Phoenix App With a Hangman Connection

    • An Initial Server

    • Add a Form

    • More Complex Helpers

    • Wrapping up: Add Graphics

  • 19

    Channels and a Single Page App

    • Introduction to Phoenix Channels

    • Configuring Channel Support

    • Adding JavaScript

    • joining a Channel

    • Pushing the Tally from the Server

    • Introduction to Data Binding

    • Finish the Client

  • 20

    Wrapping Up

    • I'm Done. You've Just Got started

About the instructor

Dave Thomas

Dave Thomas is probably responsible for introducing Ruby to the western world with the book Programming Ruby back in 2000. Now in its 4th edition, it has sold hundreds of thousands of copies.More recently, he played a similar role in launching Elixir, both with the book Programming Elixir and with many talks at conferences around the world.Who better to introduce Ruby developers to the new and exciting world of functional programming in Elixir?