👋Learning to code? Check out our new dedicated beginners platform -Jiki!
Exercism
  • Learn
    • Language Tracks

      Upskill in 65+ languages

    • Learn To Code with Jiki

      Learn to code and build in the LLM-era.

    • Your Journey

      Explore your Exercism journey

    • Your FavoritesNew

      Revisit your favorite solutions

  • Discover
    • Exercism Perks

      Offers & discounts from our partners

    • Community Videos

      Streaming, walkthroughs & more

    • Brief Introduction Series

      Short language overviews

    • Interviews & Stories

      Get inspired by people's stories

    • Discord

      Chat & hang with the community

      The link opens in a new window or tab
    • Forum

      Dig deeper into topics

      The link opens in a new window or tab
  • Contribute
    • Getting started

      How you can help Exercism

    • Mentoring

      Support others as they learn

    • Docs

      Everything you need to help

    • Contributors

      Meet the people behind Exercism

    • TranslatorsNew

      Support our Localization project

  • More
    • Donate

      Help support our mission

    • About Exercism

      Learn about our organisation

    • Our Impact

      Explore what we've achieved

    • GitHub SyncerNew

      Backup your solutions to GitHub

    • Insiders

      Our way of saying thank you

Sign upLog in
  • Docs home
  • Using Exercism
  • Building Exercism
  • Mentoring
  • Community
  • Track-specific
  • Contributing to Exercism
  • Configlet
  • GitHub
  • Track
    • config.json
    • Track Docs
    • Practice Exercises
    • Concept Exercises
    • Syllabus
    • Concepts
    • Concept Map
    • Approaches
    • Articles
    • New Track
      • Request a new Track
      • Join our community
      • Select programming language variant
      • Select testing framework
      • Add the first exercise
      • Setup Continuous Integration
      • Add initial exercises
      • Build test runner
      • Configure tooling
      • Prepare for launch
      • Test track
      • Find maintainers
      • Launch!
      • Enable syntax highlighting
      • Implement additional tooling
      • Prepare for open source contributions from strangers
    • Presentation
    • Shared files
    • Continuous Integration
    • Deprecated Exercises
    • Icons
    • Exercise stories
  • Track Tooling
  • Markdown
  • Product

Join our community


To interact with maintainers, mentors and people learning on Exercism, join the Exercism forum. The Building Exercism category of the forum is a great place to plan your track and to get help from other maintainers. It is also the place where we'll regularly post updates on things we're working on.

Code practice and mentorship for everyone

Develop fluency in 83 programming languages with our unique blend of learning, practice and mentoring. Exercism is fun, effective and 100% free, forever.

Sign up for free Explore languages

Editions


  • Exercism
  • Learn to Code with Jiki
  • Exercism for Teams
  • Exercism Research

About


  • About Exercism
  • Our team
  • Contributors
  • Partners
  • Individual supporters

Get involved


  • Exercism Insiders
  • Contribute
  • Mentor
  • Donate

Legal & policies


  • Terms of usage
  • Privacy policy
  • Cookie policy
  • Code of conduct
  • Accessibility statement

Keep in touch


  • Exercism's blog
  • Discuss on GitHub
  • Contact us
  • Report abuse

Get help


  • Exercism's Docs
  • Getting started
  • FAQs
  • Installing the CLI
  • Interactive CLI Walkthrough

Our programming language tracks


  • 8th
  • ABAP
  • ARM64 Assembly
  • Arturo
  • AWK
  • Ballerina
  • Bash
  • Batch Script
  • C
  • C#
  • C++
  • Cairo
  • CFML
  • Clojure
  • COBOL
  • CoffeeScript
  • Common Lisp
  • Crystal
  • D
  • Dart
  • Delphi Pascal
  • Elixir
  • Elm
  • Emacs Lisp
  • Erlang
  • Euphoria
  • F#
  • Factor
  • Fortran
  • Free Pascal
  • Futhark
  • Gleam
  • Go
  • Groovy
  • Haskell
  • Idris
  • Java
  • JavaScript
  • jq
  • Julia
  • Kotlin
  • Lean
  • Lisp Flavoured Erlang
  • Lua
  • MIPS Assembly
  • MoonScript
  • Nim
  • Objective-C
  • OCaml
  • Odin
  • Perl
  • Pharo
  • PHP
  • PowerShell
  • Prolog
  • PureScript
  • Pyret
  • Python
  • R
  • Racket
  • Raku
  • ReasonML
  • Red
  • Roc
  • Ruby
  • Rust
  • Scala
  • Scheme
  • SQLite
  • Standard ML
  • Swift
  • Tcl
  • TypeScript
  • Uiua
  • Unison
  • V
  • Vim script
  • Visual Basic
  • WebAssembly
  • Wren
  • x86-64 Assembly
  • YAMLScript
  • Zig

Want to add a language track to Exercism?

Start a new topic in the forum and let's discuss it.


Exercism is a not-for-profit organisation registered in the UK. Its trustees are Katrina Owen, Jeremy Walker and Erik Schierboom.
© 2026 Exercism