Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Elixir Coding Basics
Highest Rated
Rating: 4.6 out of 5(90 ratings)
15,940 students

Elixir Coding Basics

Master functional programming fundamentals with Elixir — from pattern matching to processes and beyond
Last updated 4/2026
English

What you'll learn

  • Write and evaluate Elixir expressions using core data types including integers, floats, strings, atoms, and booleans
  • Use pattern matching and the pin operator to bind and destructure data the Elixir way
  • Build reusable logic with anonymous functions, named functions, multi-clause definitions, and guard clauses
  • Transform data pipelines using the pipe operator for clean, readable code
  • Process collections with Enum. map, Enum.filter, Enum.reduce, and for comprehensions
  • Create and update maps, keyword lists, and structs for structured data modeling
  • Write recursive functions with tail call optimization for memory-efficient iteration
  • Spawn lightweight Elixir processes and communicate between them using message passin
  • Handle errors with try/rescue, with expressions, and the "let it crash" supervision philosophy
  • Define protocols for polymorphism and create custom sigils to extend Elixir syntax

Course content

10 sections103 lectures8h 29m total length
  • Numbers and Arithmetic11:16

    Every programming journey starts with numbers, and Elixir makes working with them a breeze. In this lecture, you will explore how Elixir handles integers and floats, and you will practice basic arithmetic operations like addition, subtraction, multiplication, and division. You will also discover a quirky detail about Elixir division — the div and rem functions — that sets it apart from many other languages. By the end, you will be confidently crunching numbers in Elixir and understanding how the language treats numeric data under the hood.

  • Strings and String Operations12:49

    Strings are everywhere in programming, from usernames to error messages, and Elixir gives you elegant tools to work with them. In this lecture, you will learn how to create strings in Elixir using double quotes, interpolate values inside them with the hash-curly-brace syntax, and concatenate them with the angle-bracket operator. You will also explore handy functions from the String module like String.length, String.upcase, and String.split that let you slice and dice text with ease.

  • Atoms and Booleans13:56

    Meet atoms — one of Elixir's most distinctive data types. An atom is a constant whose name is its own value, like :ok, :error, or :hello, and they pop up everywhere in Elixir code. In this lecture, you will learn how atoms work, why they are so efficient for representing fixed values, and how Elixir's booleans true and false are actually just atoms in disguise. You will write simple comparisons and see how atoms serve as labels and keys throughout the language.

  • Variables and Pattern Matching Basics11:12

    In  most languages, the equals sign means assignment. In Elixir, it means something far more powerful — pattern matching. In this lecture, you will learn how to bind values to variables in Elixir and discover that the match operator (=) is actually trying to make both sides of the equation equal. You will see how rebinding works, how to use the pin operator (^) to lock a variable's value in place, and why this subtle shift in thinking unlocks a whole new way of writing code.

  • Lists and Basic List Operations11:59

    Lists are the workhorse collection in Elixir, and understanding them is essential for writing idiomatic code. In this lecture, you will learn how to create lists in Elixir, access elements, and use core operations like concatenation with ++ and subtraction with --. You will also explore the head-and-tail concept using hd and tl functions, which reveals that Elixir lists are actually linked lists under the hood. This foundational knowledge will prepare you for the recursive thinking that makes Elixir so elegant.

  • Tuples and Keyword Lists13:03

    Elixir gives you multiple ways to group data together, and choosing the right one matters. In this lecture, you will explore tuples — fixed-size containers perfect for returning multiple values from a function, like the classic {:ok, result} pattern you will see throughout Elixir codebases. You will also learn about keyword lists, which are special lists of two-element tuples that act like lightweight dictionaries with ordered, potentially duplicate keys. Understanding when to reach for a tuple versus a keyword list is a practical skill every Elixir developer needs.



Requirements

  • Basic programming experience in any language such as Python, JavaScript, Ruby, or Java
  • Familiarity with fundamental concepts like variables, functions, and conditional logic
  • Comfort using a terminal or command line interface
  • A computer with Elixir installed and ready to run code
  • No prior experience with functional programming or Elixir required

Description

This course contains the use of artificial intelligence

Elixir is rapidly becoming the language of choice for developers who want to build fast, reliable, and scalable applications without pulling their hair out. Born on the battle-tested Erlang virtual machine, Elixir combines the fault tolerance that powers global telecom systems with a modern, friendly syntax that actually makes coding enjoyable. Whether you are looking to future-proof your career, build real-time systems, or simply fall in love with functional programming, learning Elixir opens doors that few other languages can.


This course takes you from zero to confident Elixir developer through a carefully structured progression of hands-on concepts. You will start with the essentials — numbers, strings, atoms, and pattern matching — before moving into control flow, functions, and the legendary pipe operator that makes data transformations a joy to write and read. From there, you will dive into collections and data wrangling with maps, the Enum module, comprehensions, and structs, giving you the tools to process and reshape data with minimal code. The journey continues into recursion, lightweight processes, and message passing, where you will experience firsthand the concurrency model that sets Elixir apart from virtually every other mainstream language. Finally, you will tackle error handling, supervisors, protocols, and sigils — the real-world patterns that make Elixir code robust and production-worthy.


This course is designed for anyone with basic programming experience who wants to learn Elixir from scratch. Whether you are coming from Python, JavaScript, Ruby, or any other language, the lectures are crafted to meet you where you are and build your skills incrementally. By the end, you will be able to write idiomatic Elixir code, think in functional programming patterns, build concurrent programs with processes and message passing, and understand the supervision strategies that give Elixir applications their legendary resilience.


What sets this course apart is its relentless focus on clarity and practical code. Every lecture teaches exactly one concept, demonstrated with concise, runnable code snippets that you can type along with and experiment on your own. There is no filler, no fluff, and no hand-waving — just crisp explanations paired with real Elixir code. If you are ready to add one of the most exciting and in-demand languages to your toolkit, hit enroll and start writing Elixir today.

Who this course is for:

  • Developers from object-oriented backgrounds who want to learn functional programming through Elixir
  • Web developers curious about the language behind the Phoenix framework
  • Backend engineers exploring scalable, fault-tolerant alternatives to their current stack
  • Computer science students looking to expand their language repertoire with a modern functional language
  • Programmers who have tried Elixir tutorials before but want a structured, concept-by-concept learning path