Do you want web sites that can easily scale to millions of users?
Or build a system to reliably handle the coming Internet of Things (IoT) future?

Perhaps you just want to learn a programming language, which will teach you the techniques for building concurrent, functional, and fault-tolerant software.

Elixir is one of the fastest growing programming languages, for all of these reasons.

Created by José Valim, one of the Ruby on Rails core team members, Elixir is built on the tried and tested Erlang Beam (Virtual Machine). With cherry picked features from other modern languages such as Clojure, Ruby and Python, etc. it's a joy to use, and makes functional programming much more accessible.

Erlang was built from the ground up, to get distributed, and fault-tolerant computing "right". Elixir inherits these qualities, and packages it up in a beautiful modern language, with excellent tooling and access to all the existing Erlang libraries.

If you want to understand how Whatsapp, with less than 60 engineers, can send double the text messages of all the Telecoms companies put together, then come and learn Elixir. It'll be fun!

What can you build with Elixir:

* Websites with Pheonix
* Microservices and APIs
* IoT devices, with the Nerves project - write and manage the client and the server
* Use all the cores on your computer
* Build concurrent event driven services, ideal for Robotics, etc.

What is this course about:

This is a beginners guide to learning the Elixir programming language. You will learn how to read and write in Elixir code, understand recursion, data immutability, and pattern matching.
This course lays the foundation for learning a functional language and gives you confidence with which to build your knowledge.
This is a beginners course in learning the basics of the language thus we do NOT go into OTP, Erlang or Macros.

Build a strong foundation in Elixir and functional programming with this tutorial for beginners.

What Elixir is and what it is good for
Types, functions and tools
Functional programming, immutable data, pattern matching and recursion
Tools, tests and documenting

What are the requirements?

You will need to be familiar with an Object Orientated (OO) language e.g. Ruby, Python, JavaScript, Java, C#, etc.
You will need to be able follow the Elixir installation guide from the Elixir web site
You should be confident in writing code in a text editor, such as Sublime Text, Notepad++, Vim or Emacs
Some command line knowledge will be helpful as you will be executing Elixir programs from the command line

What am I going to get from this course?

Over 28 lectures and 2.5 hours of content!
Understand how to read and write Elixir code
Understand the key tenets of functional programming, immutable data, pattern matching and recursion
Create your own Elixir programs
Use the appropriate tools when building Elixir programs
Think confidently in Elixir, and have detailed knowledge of the most important language primitives