https://exercism.org/ [insiders-0] Exercism Insiders launching soon.Check your status. Exercism [ ] * Home * Language Tracks * Community * Mentor * Insiders * Donate Sign upLog in Get really good at programming. Develop fluency in 67 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 Exercism is an independent, community funded, not-for-profit organisation. Learn more [landing-pa] [tracks-2e7] Explore and get fluent in 67 programming languages --------------------------------------------------------------------- Python Python 318404 students JavaScript JavaScript 266063 students Java Java 126586 students Go Go 90216 students C++ C++ 82915 students C# C# 80009 students Rust Rust 77070 students C C 69024 students TypeScript TypeScript 48008 students Ruby Ruby 44887 students Bash Bash 44368 students Elixir Elixir 34898 students See all 67 Language Tracks[arrow-righ] [exercises-] Over 3,450 coding exercises. From "Allergies" to "Zebra Puzzle". --------------------------------------------------------------------- Learn by doing. Get better at programming through fun coding exercises that build your understanding of concepts. Allergies Allergies Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies. JavaScript TypeScript C++ +40 more Queen Attack Queen Attack Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other C++ Go JavaScript +60 more Zebra Puzzle Zebra Puzzle Which of the residents drinks water? Who owns the zebra? Can you solve the Zebra Puzzle with code? Elixir TypeScript Bash +70 more [landing-page-exercise-fce3a228f5044f810f18feb9544551b649a2f3c9] [features-l] Write code locally, in your own space Exercism is primarily built as a CLI-first tool. Download and submit exercises right from your terminal. [features-e] Use the Exercism in-browser editor Don't spend hours installing a language locally just to try it out. We support all 70 of our programming languages in our in-browser editor. [features-f] Get automated analysis on your code Not quite sure how well you've done? We run automatic analysis on your solutions to give you quick feedback and points of improvement. [mentoring-] [exercises-] Deepen your knowledge with human mentoring, for free. --------------------------------------------------------------------- Discover new and exciting ways to approach an exercise by getting mentored on it. Become more familiar with the conventions, idioms and opinions of a particular programming language. [mentoring-55681b539cc66e98874c057bc76f778742f79f1e] Why mentoring? --------------------------------------------------------------------- [features-d] You don't know what you don't know When learning a new language, the hardest part is not being aware of the gaps in your knowledge. Our mentors can look at your code and immediately see the ideas you're not familiar with and give you a level-up by unlocking new knowledge. [features-f] Learn language-specific conventions Becoming fluent in a language is more than being able to write code in it - it's about being able to think in that language. Our mentors will help guide you to how to reshape your thinking to write idiomatic code. [features-f] Learning with others is fun Getting feedback from real people is an amazingly exciting way to learn. And becoming a mentor and giving feedback yourself is an even bigger step forward. So complete the circle - be mentored and mentor [exercism-w] Code practice and mentorship for everyone Develop fluency in 67 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 * Exercism for Teams * Exercism Research About --------------------------------------------------------------------- * About Exercism * Our team * Contributors * Supporting organisations * Individual supporters Get involved --------------------------------------------------------------------- * Insiders [insiders-0] * 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 [external-s] [external-s] [external-s] --------------------------------------------------------------------- Our programming language tracks --------------------------------------------------------------------- * 8th * ABAP * AWK * Ballerina * Bash * C * C# * C++ * CFML * Clojure * ClojureScript * COBOL * CoffeeScript * Common Lisp * Crystal * D * Dart * Delphi Pascal * Elixir * Elm * Emacs Lisp * Erlang * F# * Fortran * Gleam * Go * Groovy * Haskell * Java * JavaScript * jq * Julia * Kotlin * LFE * Lua * MIPS Assembly * Nim * Objective-C * OCaml * Perl * Pharo * PHP * PL/SQL * Prolog * PureScript * Python * R * Racket * Raku * ReasonML * Red * Ruby * Rust * Scala * Scheme * Standard ML * Swift * Tcl * TypeScript * Unison * V * VB.NET * Vim script * WebAssembly * Wren * x86-64 Assembly * Zig Want to add a language track to Exercism? Start a new topic in the forum and let's discuss it. --------------------------------------------------------------------- Exercism is not-for-profit organisation registered in the UK. Its trustees are Katrina Owen, Jeremy Walker and Erik Schierboom. (c) 2023 Exercism