Learn what makes Elixir attractive, as well as what you can expect from this course.
![Data Types Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/2/original.png?v=63609454908)
Learn about Elixir’s data types, their implementation, and performance characteristics.
![Operators Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/3/original.png?v=63609918756)
Learn about Elixir’s many operators. Most importantly, the match and pipeline operators.
![Functions, Modules, and Structs Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/4/original.png?v=63610147111)
Learn how to organize your Elixir code into modules, named functions, and custom types.
![Control Flow Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/5/original.png?v=63610234029)
Learn how to control the flow of your Elixir program with macros, pattern matching, and guards.
![Recursion Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/6/original.png?v=63610409319)
Learn how Elixir replaces loops with recursion, and how to use tail call optimization.
![Enum and Stream Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/7/original.png?v=63610843442)
Learn more about the Capture Operator, the Enum module, and the lazy version, Stream.
![Comprehensions Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/8/original.png?v=63611012187)
Learn about Elixir’s final loop-like feature: comprehensions, powered by the for macro.
![Sigils Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/9/original.png?v=63611444024)
Learn about Sigils, Elixir’s shorthand expressions. Including how to write your own.
![Mix Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/10/original.png?v=63611884394)
Learn about Mix, the project builder and manager for Elixir, including custom mix tasks.
![Hex Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/11/original.png?v=63612048881)
Learn about Elixir’s package repository, Hex, and how to install and upload packages.
![ExUnit Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/12/original.png?v=63612309711)
Learn how to use ExUnit, Elixir’s built-in testing framework, and one of its best features: doctests.
![Processes Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/13/original.png?v=63612742163)
Learn about processes, Elixir’s core concurrency feature. Processes are an essential Elixir concept, so don’t miss it!
![GenServer Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/14/original.png?v=63613096588)
This episode begins our look at OTP, starting out with GenServer, its component for managing long-running processes.
![Supervisor Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/15/original.png?v=63613521754)
Learn about error handling in OTP, and supervision trees, the OTP framework’s powerful way of keeping a system stable.
![Applications Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/16/original.png?v=63614302838)
Learn what OTP applications are, and how to build one with an in-depth, detailed demo!
![Task and Agent Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/17/original.png?v=63614475423)
You don’t need a GenServer for everything. Try Task for asynchronous jobs, and Agent for simple storage.
![Nodes Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/18/original.png?v=63614741591)
Learn about how Elixir makes it trivially easy to distribute your app between machines.
![Protocols Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/19/original.png?v=63615246389)
Learn about Elixir’s data polymorphism feature: Protocols. Also, learn a bit about how Elixir handles extension.
![Behaviours Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/20/original.png?v=63615357092)
Learn about Elixir’s answer to interfaces from object-oriented languages: Behaviours.
![Exceptions Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/21/original.png?v=63615683155)
Learn what little you need to know about Elixir exceptions. You won’t be using them often!
![GenEvent Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/24/original.png?v=63618980297)
Learn about OTP’s publish/subscribe paradigm, and GenEvent, Elixir’s wrapper for it.
![Dialyzer Thumbnail](https://s3.amazonaws.com/learnelixir-uploads/uploads/episode/image/25/original.png?v=63619597442)
Learn how to get some of the benefits of static typing with Erlang’s static analysis tool, dialyzer.