├── 01 Welcome to Elixir
│ ├── 001 Introduction to Elixir
│ ├── 002 About this course
│ ├── 003 Prerequisites
│ └── 004 Elixir introduction resources.pdf
├── 02 Introduction to Elixir
│ ├── 005 Hello World x2
│ ├── 006 Introduction to Elixir files
│ └── 007 Interactive Elixir REPL iex
├── 03 Basic types
│ ├── 008 Basic types numbers
│ ├── 009 Atoms, Booleans and Strings
│ └── 010 Basics of anonymous functions and tuples
├── 04 Basics of functional thinking
│ ├── 011 Pattern matching basics
│ ├── 012 Pattern matching further concepts
│ └── 013 Immutable Data
├── 05 Complex types
│ ├── 014 Lists
│ ├── 015 Keyword lists
│ └── 016 Maps
├── 06 Modules Functions
│ ├── 017 Modules
│ ├── 018 Named function basics
│ └── 019 Function captures and references
├── 07 Recursion
│ ├── 020 Recursion and pattern matching
│ ├── 021 Tail call optimisation
│ └── 022 Reduce Map a recursive example
├── 08 Processes
│ ├── 023 Spawning processes, sendingreceiving messages and Tasks
│ └── 024 Process ping pong example
└── 09 Caesar Cipher Project
├── 025 Mix and project dependencies
├── 026 Testing writing code
├── 027 Make a command line executable with escript
└── 028 Configuration, documentation and doctest