Skip to content

Coding Challenges for Clojureλ︎

Clojure coding challenges

Coding challenges are an excellent way to start learning a new language. The challenges allow you to focus on the language and not be concerned about the more general engineering aspects of software development.

Challenges are there to explore a language and practice your understanding of how to assemble working code. It is recommended to try different approaches to solving a challenges and even repeat the same challenges at a later date and see what additional approaches you have learned.

Exercism.io and 4Ever-Clojure are highly recommended starting point for learning Clojure and does not require any installation or setup. 4Ever-Clojure is a new implementation of 4Clojure.com.

Approach to solving challengesλ︎

Take a few minutes to digest the description of the challenge and make notes.

Identify the simplest possible thing to do, solving the problem in many small pieces which encourages experimentation

  • experiment, write code and evaluate to see what it does (optionally create a comment with the result)
  • use a rich comment (comment ,,,) to capture multiple ideas and designs, even failed experiments can be useful (separates experiments from working code)
  • continually evaluate code as expressions are written, to ensure their behaviour is understood (try different argument values for functions)
  • try different shapes of data
  • transform data shapes to keep function definitions simpler

Once there is a working solution, refactor or try different approaches and evaluate the merit of alternative solutions

Challenge website Description Requirements
4Ever-Clojure Learning the core functions of the Clojure language Web Browser
Exercism.io Coding exercises with mentor support Web Browser (local: Exercism CLI, Clojure CLI & Clojure aware editor
ClojureScript Koans Interactive exercises in a web browser Web Browser
Simple Projects Challenge that can be solved in one session Clojure aware editor
TDD Code Kata Challenge that can be solved in one session Clojure aware editor
Advent of Code Yearly coding challenge with a seasonal theme Clojure aware editor
CodeWars Mostly math-based coding challenges with Clojure variants Web Browser