Katas are simple techniques or patterns in karate to help teach you the basics. Repeat until mastery, and they become ingrained as muscle memory. C** ode **** k ***atas are exercises* intended to help you master a language or problem and hone your skills.
Code koans are an easy way to get started with a code exercise routine. A k** oan is a mental exercise intended to stretch the mind**, often in the form of a question with no concrete answer. A code koan may exist as a set of unit tests that require you to fill in the answer as you learn.
Here are some code kata and koan sites to get started:
- Awesome katas - https://github.com/gamontal/awesome-katas
- TypeScript - https://github.com/paytonrules/typescript.koans
- CoffeeScript - https://github.com/liammclennan/coffeescript-koans
- Go Koans - https://github.com/cdarwin/go-koans
- Objective-C Koans - https://github.com/joecannatti/Objective-C-Koans
- Swift Koans - https://github.com/mokagio/Swift-Koans
- Java Koans
- Groovy Koans - https://nadavc.github.io/groovykoans/
- Scala Koans - https://github.com/rubbish/scala-koans
- Clojure Koans - http://clojurekoans.com/
- Kotlin Koans - https://kotlinlang.org/docs/koans.html
- Python Koans - https://github.com/gregmalcolm/python_koans
- Ruby Koans - http://rubykoans.com/
- Elixir Koans - http://elixirkoans.io/
- MongoDB Koans - https://github.com/chicagoruby/MongoDB_Koans
If you don't see your language listed above it should be a quick Google search away "[language] koans". If it isn't maybe this is a good opportunity for you to create some Koans of your own and contribute back to the Open Source community!
Get your free ebook
"The 30-Minute Project: How to improve Your Side Project Game to Become a Better Developer"
at 30-Minute Project