The idea behind code kata is simple : if you want to become a better developer, you need to train yourself regularly. A code kata is a short exercise on which you can practice without any consequences for your day to day delivery, which helps you improve your abilities in problem solving, your creativity and you coding discipline.
Here are some places where you can find Kata catalogs
Here are other problem solving links
Are you practicing with some code katas yourself ? Feel free to share your experience, tips and links on the katas that you are using.