Course Outline
Overview
Use the following index to find reading material and exercises for this course.
For new students, we recommend that you start here.
Elixir Fundamentals
Prerequisites
- Install Elixir
- Install Livebook
- Install Postgres (optional to get started)
- Install Phoenix (optional to get started)
- Setup WSL with Visual Studio Code (Windows Users Only)
- Optionally Install asdf to manage Elixir and Erlang versions.
- Basic understanding of Computer Hardware
Course Tools
- Reading
- Exercises
Basics
- Reading
- Exercises
Data Structures And Intro To Pattern Matching
- Reading
- Exercises
Control Flow And Abstraction
- Reading
- Exercises
Modules And Structs
- Reading
- Exercises
Enumeration
- Reading
- Exercises
Built-in Modules
- Reading
- Exercises
Comprehensions And Non-Enumerable Data Types
- Reading
- Exercises
Reduce
- Reading
- Exercises
Dates And Time
- Reading
-
Exercises
- Time Converting
- Itinerary
- Bonus: Timeline
String Manipulation
- Reading
- Exercises
Recursion
- Reading
-
Exercises
- Fibonacci
- Lucas Numbers
- Bonus: Factorial
- Bonus: Pascals Triangle
Mix Projects
Elixir Build Tooling
- Reading
- Exercises
Testing With ExUnit
- Reading
- Exercises
Documentation And Static Analysis
- Reading
- Exercises
Executables
- Reading
- Exercises
Advanced Syntax
Advanced Pattern Matching
- Reading
- Exercises
Guarding
- Reading
- Exercises
Protocols
- Reading
-
Exercises
- Math With Protocols
- Bonus: Battle Map
Persistence Using The File System
- Reading
-
Exercises
- Drills: Streams
- Drills: File
- Save Game
- Bonus: File System Todo App
- Bonus: Document Tools
- Mastery: File Search
OTP
Processes
- Reading
-
Exercises
- Drills: Process
- Process Mailbox
GenServers
- Reading
- Exercises
Testing GenServers
- Reading
- Exercises
Supervisor Basics And Fault Tolerance
- Reading
- Exercises
Concurrency With Tasks
- Reading
-
Exercises
- Drills: Tasks
- Concurrent Word Count
Phoenix
HTML And CSS
- Reading
-
Exercises
- Common Components
- Bonus: Play FlexBox Froggy
- Bonus: Play Grid Garden
APIs
- Reading
- Exercises
Relational Databases
- Reading
- Exercises
Phoenix
-
Reading
- Phoenix 1.7
- Bonus: Web Servers
-
Exercises
- Follow Along: Phoenix Counter App
- Drills: Phoenix
Group Project Blog
Phoenix And Ecto
- Reading
- Exercises
Testing Phoenix
- Reading
- Exercises
Phoenix Forms And Components
- Reading
- Exercises
Phoenix And Ecto One-to-Many Associations
- Reading
- Exercises
Phoenix Authentication
- Reading
- Exercises
Phoenix And Ecto Many-to-Many Relationships
- Reading
- Exercises
Phoenix And Ecto One-to-One Relationships
- Reading
- Exercise
Tailwind
- Reading
- Exercises
Deployment
- Reading
- Exercise
Custom Feature
Group Project Presentation
Capstone Project Preparation
Capstone Project
- Reading
- Exercises
LiveView
LiveView
- Reading
- Exercises
LiveView And Ecto
- Instruction
LiveView Authentication
- Instruction
LiveView Image Uploads
- Instruction
PubSub
- Instruction
LiveView JS Interoperability And Pagination
- Instruction
Scheduling And Emailing With Swoosh And Oban
- Instruction
Bonus Topics
The following topics are not part of the DockYard Academy core curriculum, but serve as a bonus section for those interested in delving deeper into programming and Elixir.
Performance Optimization
- Reading
- Exercises
Benchmarking And Performance
- Reading
- Exercises
Ecto Changesets
- Reading
-
Exercises
- Sign Up Form
- Bonus: Book Changeset
State Management With Agents And ETS
- Reading
- Exercises
Metaprogramming
- Reading
- Exercises
Queues
- Reading