This might be stating the obvious, but make sure you have created a Codewars account and are logged in to Codewars before clicking on the links to the katas!
These katas should mostly be within reach of people who have been learning the basics of javascript as their first programming language, (most, if not all, can be completed in other languages as well.) There are a few wildcards in there which will be more difficult.
You'll find the list of katas here
Codewars is a platform designed to help users become better programmers by learning programming concepts, specific programming language features and general problem solving skills through coding challenges. You might notice that Codewars has a Japanese martial arts theme. Coding challenges are called "kata", user ranks start at "8kyu" and progress to "1kyu", then "1Dan" up to "8Dan". It is important to note that kata difficulty is indicated by rank also, (if you are a beginner programmer, you should start with 8kyu and 7kyu kata, not 1kyu and 2kyu!) The more kata you complete, the more rank you accrue. The more rank you accrue, the longer it takes to rank up more, especially if you only do easy kata.
Use the link above to access the curated list of kata and click the links on that page to access each one individually. When you click on a kata you will be taken to a description page. Read the description carefully, then click the "Train" button in the top right corner. The challenge begins...
You'll notice that you can see the description again, on the left side of the screen and you have two windows on the right that you can type things in (don't type anything in the bottom one at this point!)
In most kata you'll be expected to write a function. You write it in the upper text box on the right of the screen. You don't need to call your function, the kata will call your function several times with different arguments. The kata "knows" what arguments it passed your function and it "knows" the result it expects you to return for each set of arguments. When the kata calls your function this is called a "test". You can see example tests in the lower text box. You can run them by pressing TEST
. Most kata have a larger suite of tests that are hidden from you. This is to encourage you to think about special cases that might be implied by the description, but not explicitly shown to you. You can run the full suite of tests by pressing ATTEMPT
. If all the tests pass when you press the ATTEMPT
button, you have completed the kata and you should SUBMIT
your solution to gain rank for completing it.
I encourage you not to peek at the answers. If you get stuck, move on to the next kata. The answer will come to you in time, the more you immerse yourself in learning the skills needed to be a great programmer.
When you get to the end of the list just keep exploring Codewars. You can click the "Practice" button in the toolbar and browse other challenges. Also, keep an eye on this list for new katas.
Also, try not to rush through the list of katas. When you complete a kata, before looking at others' solutions, spend some time trying to see if there are other ways you could think about solving the problem. Try them out. Do they work? Then spend some time going through others' solutions. See if you can understand them. See if you can google what you don't understand. The more you understand from solving one kata the more tools you will have for solving others. Try to immerse yourself in your chosen programming language. Find articles to read and videos of talks. Expose yourself to the concepts of the language, even if you don't understand them yet. Occasionally it will trigger something in your mind about a kata you couldn't solve and you will be able to go back and complete it, or at least make some progress.
Don't give up!