An interesting idea seen at: http://pragprog.com/pragdave/Practices/Kata is now at http://codekata.com/ In Martial Arts there is the idea of the "kata", a series of (often simple) moves and techniques put together for the purpose of practice. When one performs a kata the point is to try to improve by making your techniques as close to perfect as possible. This simple idea can be extended to software development by having some programming exercises to perform. The point is to do them several times, honing your technique as you go. Kent Beck mentions that he has implemented his Money class several times, so perhaps that would be a good example for CodeKataSuggestions. ---- A good idea, but you shouldn't let it rule your student life. It is good as an exercise. Katas were originally created by martial artist that survived a war. A kata was, then, a chain of movements that were useful in battle, and students weren't allowed to change it. It could only be changed by people who had survived another war. I don't know what a war could be in IT, but you should be more flexible with the katas. ---- CategoryProtoPattern