Courses
314 hands-on courses across every major language, framework, and discipline.
Intermediate Zig
Level up your Zig. Write idiomatic, well-structured code and solve real problems with the right tools and patterns.
Zig by Building Projects
Learn Zig by shipping real projects. Each one adds a new skill and something concrete to your portfolio.
Intermediate Haskell
Level up your Haskell. Write idiomatic, well-structured code and solve real problems with the right tools and patterns.
Functional Programming in Haskell
Apply functional techniques in Haskell: pure functions, immutability, higher-order functions, and composition.
Testing & TDD in Haskell
Ship reliable Haskell: unit and integration tests, mocking, and test-driven development workflows.
Haskell by Building Projects
Learn Haskell by shipping real projects. Each one adds a new skill and something concrete to your portfolio.
Intermediate Elixir
Level up your Elixir. Write idiomatic, well-structured code and solve real problems with the right tools and patterns.
Functional Programming in Elixir
Apply functional techniques in Elixir: pure functions, immutability, higher-order functions, and composition.
Testing & TDD in Elixir
Ship reliable Elixir: unit and integration tests, mocking, and test-driven development workflows.
Elixir by Building Projects
Learn Elixir by shipping real projects. Each one adds a new skill and something concrete to your portfolio.
Intermediate Erlang
Level up your Erlang. Write idiomatic, well-structured code and solve real problems with the right tools and patterns.
Functional Programming in Erlang
Apply functional techniques in Erlang: pure functions, immutability, higher-order functions, and composition.
Testing & TDD in Erlang
Ship reliable Erlang: unit and integration tests, mocking, and test-driven development workflows.
Erlang by Building Projects
Learn Erlang by shipping real projects. Each one adds a new skill and something concrete to your portfolio.
Intermediate Clojure
Level up your Clojure. Write idiomatic, well-structured code and solve real problems with the right tools and patterns.
Functional Programming in Clojure
Apply functional techniques in Clojure: pure functions, immutability, higher-order functions, and composition.
Testing & TDD in Clojure
Ship reliable Clojure: unit and integration tests, mocking, and test-driven development workflows.
Clojure by Building Projects
Learn Clojure by shipping real projects. Each one adds a new skill and something concrete to your portfolio.
Intermediate F#
Level up your F#. Write idiomatic, well-structured code and solve real problems with the right tools and patterns.
Functional Programming in F#
Apply functional techniques in F#: pure functions, immutability, higher-order functions, and composition.
Testing & TDD in F#
Ship reliable F#: unit and integration tests, mocking, and test-driven development workflows.
F# by Building Projects
Learn F# by shipping real projects. Each one adds a new skill and something concrete to your portfolio.
Intermediate OCaml
Level up your OCaml. Write idiomatic, well-structured code and solve real problems with the right tools and patterns.
Functional Programming in OCaml
Apply functional techniques in OCaml: pure functions, immutability, higher-order functions, and composition.
