Tuesday’s Tip – Use code katas and koans to learn a programming language
Tags: tuesdaystip, kata, koan, languagelearning
Published: 2021-10-13 15:47:59

---
title: Tuesday’s Tip – Use code katas and koans to learn a programming language
published: true
date: 2021-10-12 22:19:13 UTC
tags: TuesdaysTip,kata,koan,languagelearning
canonical_url: https://www.30minuteproject.com/2021/10/12/tuesdays-tip-use-code-katas-and-koans-to-learn-a-programming-language/?utm_source=rss&utm_medium=rss&utm_campaign=tuesdays-tip-use-code-katas-and-koans-to-learn-a-programming-language
---

## Learning a new language? Try code katas or koans!

### **What are Code Katas?**

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**.

### **What are Code Koans?**

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.

**Sites**

Here are some code kata and koan sites to get started:

- Awesome katas - [https://github.com/gamontal/awesome-katas](https://github.com/gamontal/awesome-katas)
- JavaScript - [https://github.com/liammclennan/JavaScript-Koans](https://github.com/liammclennan/JavaScript-Koans)
- TypeScript - [https://github.com/paytonrules/typescript.koans](https://github.com/paytonrules/typescript.koans)
- CoffeeScript - [https://github.com/liammclennan/coffeescript-koans](https://github.com/liammclennan/coffeescript-koans)
- Go Koans - [https://github.com/cdarwin/go-koans](https://github.com/cdarwin/go-koans)
- Objective-C Koans - [https://github.com/joecannatti/Objective-C-Koans](https://github.com/joecannatti/Objective-C-Koans)
- Swift Koans - [https://github.com/mokagio/Swift-Koans](https://github.com/mokagio/Swift-Koans)
- Java Koans
  - [https://github.com/matyb/java-koans](https://github.com/matyb/java-koans)
  - [https://github.com/JavaKoan/java-koans](https://github.com/JavaKoan/java-koans)
- Groovy Koans - [https://nadavc.github.io/groovykoans/](https://nadavc.github.io/groovykoans/)
- Scala Koans - [https://github.com/rubbish/scala-koans](https://github.com/rubbish/scala-koans)
- Clojure Koans - [http://clojurekoans.com/](http://clojurekoans.com/)
- Kotlin Koans - [https://kotlinlang.org/docs/koans.html](https://kotlinlang.org/docs/koans.html)
- Python Koans - [https://github.com/gregmalcolm/python\_koans](https://github.com/gregmalcolm/python_koans)
- Ruby Koans - [http://rubykoans.com/](http://rubykoans.com/)
- Elixir Koans - [http://elixirkoans.io/](http://elixirkoans.io/)
- MongoDB Koans - [https://github.com/chicagoruby/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](https://www.30minuteproject.com/contact/)