Elixir Programming for Beginners

  • Expertise
  • Target audience Software Developers and Engineers without prior experience in Elixir.
  • Duration 21 hours
  • Prerequisites

    Good programming skills in another language such as Java, Perl, Python, node.js, or Ruby Familiarity with server-side software development helpful.
    Understanding basic programming concepts like functions, lists, conditions, variables.
    Those with experience from other programming languages are welcome.

This three-day training course is the ideal way to learn the key concepts that will set you on your Elixir programming journey. Along with learning the key concepts of the language, you will discover the essential role of concurrency for BEAM. After completing this course you will be able to write parallel and concurrent Elixir applications that will scale using OTP Behaviours.


  • Understand the background and fundamentals of Erlang and Elixir, including their origins and core principles.
  • Gain expertise in concurrent Elixir programming, exploring the concept of concurrency and its significance on the BEAM platform.
  • Learn essential process design patterns in Elixir to architect robust and scalable applications.
  • Acquire skills in handling errors and exceptions within Elixir processes to build resilient systems.
  • Understand the principles of distributed programming in Elixir and how to design distributed systems
  • Gain practical experience through hands-on exercises and projects to reinforce learning objectives.

The course contains the following topics:

  • Background Erlang/Elixir
  • Sequential Elixir
  • Unit Testing
  • Concurrent Elixir
  • Process Design Patterns
  • Process Error Handling
  • Funs and High-order functions
  • Data structures (Maps, Structs, Binaries,Protocols)
  • Distributed programming
  • Code updating

Why you should attend this course

  • Helps you get over the hurdle of efficiently understanding the concepts behind Elixir
  • Gets you thinking concurrently about your application
  • Gives you all of the knowledge you need to dive deeper in advanced subjects
  • Stops you from doing the typical beginner errors
  • Gets you up to speed with the development workflow