Course Outline
Overview
Use the following index to find reading material and exercises for this course.
Some students experience issues displaying mermaid.js diagrams. Here’s a sample diagram, which depicts the word “Welcome!” inside a box:
flowchart
Welcome!
If you do not see the box above, or if you encounter any issues with this course, please ensure you have correctly followed the Student Setup Guide or Report An Issue to receive help.
Welcome
Core Syntax
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
- FizzBuzz
- Named Number Lists
- Counting Votes
- Bonus: Measurements
- Bonus: A Safe Range
Comprehensions and Non-Enumerable Data Types
- Reading
- Exercises
Built-in Modules
- Reading
- Exercises
Reduce
- Reading
- Exercises
Dates and Time
- Reading
- Exercises
String Manipulation
- Reading
- Exercises
Mix Projects
Elixir Build Tooling
- Reading
- Exercises
Testing With ExUnit
- Reading
- Exercises
ExUnit With Mix Projects
- Reading
- Exercises
Documentation and Static Analysis
- Reading
- Exercises
Executables
- Reading
- Exercises
OTP and Advanced Syntax
Advanced Pattern Matching
- Reading
- Exercises
Guarding
- Reading
- Exercises
Protocols
- Reading
- Exercises
Recursion
- Reading
- Exercises
Benchmarking and Performance
- Reading
- Exercises
Streams
- Reading
-
Exercises
- Drills: Streams
- Lazy Product Filters
Performance Optimization
- Reading
- Exercises
Persistence Using the File System
- Reading
-
Exercises
- Drills: File
- Save Game
- Bonus: File System Todo App
- Bonus: Document Tools
- Mastery: File Search
Processes
- Reading
-
Exercises
- Drills: Process
- Process Mailbox
GenServers
- Reading
- Exercises
Asynchronous Messages
- Reading
- Exercises
Supervisor Basics and Fault Tolerance
- Reading
- Exercises
Testing GenServers
- Reading
- Exercises
Metaprogramming
- Reading
- Exercises
Mix Projects and Processes
- Reading
- Exercises
Concurrency With Tasks
- Reading
-
Exercises
- Drills: Tasks
- Concurrent Word Count
State Management With Agents and ETS
- Reading
- Exercises
Rubix Cube Project
Capstone Project Preparation
Capstone Project
Web Servers and Phoenix
HTML and CSS
- Reading
-
Exercises
- Common Components
- Bonus: Play FlexBox Froggy
- Bonus: Play Grid Garden
- Bonus: Home Page
APIs and Parsing JSON
- Reading
-
Exercises
- Spoonacular Recipe API
- Mastery: Pokemon API
Phoenix
- Reading
-
Exercises
- Drills: Phoenix
- In-Memory TodoList
Tailwind
- Reading
-
Exercises
- Tailwind CSS Components
- Mastery: Portfolio
Ecto Changesets
- Reading
-
Exercises
- Sign Up Form
- Bonus: Book Changeset
Group Project Blog
Phoenix and Ecto
- Reading
- Exercises
Testing Phoenix
- Reading
- Exercises
Schemas and Migrations
- Reading
- Exercises
Phoenix and Ecto One-to-Many Associations
- Reading
- Exercises
Seeding
- Reading
- Exercises
Phoenix Forms
- Reading
- Exercises
Phoenix Authentication
- Reading
- Exercises
Phoenix and Ecto Many-to-Many Relationships
- Reading
- Exercises
Phoenix and Ecto One-to-One Relationships
- Reading
- Exercise
Deployment
- Reading
- Exercise
Group Project Presentation
LiveView
LiveView
LiveView and Ecto
- Instruction
LiveView Image Uploads
- Instruction
PubSub
- Instruction
LiveView JS Interoperability and Pagination
- Instruction
External Libraries
Emailing, Swoosh, and Oban
- Instruction