Katas I find interesting. I don’t claim I did all or even most of them!!
- PragDave’s original Kata series.
- TDD Problems
- The Coding Dojo
- AppKata – A list of exercises to be resolved in stages by Ralph Westphal
- Programming Praxis, a blog of programming problems.
- Esko Luontola‘s Tetris Tutorial
- James Shore’s Architectural Design Challenge
- A Quick Ruby Kata from Noel Rappin. Look in the comments, there is an interesting technique based on recursion.
- The Gilded Rose Kata by Terry Hughes.
- I recommend highly all presentations by Misko Hevery. Also his Guide to Writing Testable Code. (Also his Top 10 Things I Do On Every Project)
- Piergiuliano Bossi Guide to Test-Driven Development at http://thinkcode.tv in Italian and English. Also a free Esempio di Design Evolutivo in TDD
- Kent Beck’s TDD Screencasts
- Steve Freeman Fractal TDD: Using tests to drive system design
- James Shore’s Let’s Play series
- Esko Luontola Let’s Code series
Papers On the Open-Closed Principle
- The Payroll Case Study by Robert Martin
- Refactor to the Open-Closed by Alan Shalloway and others
- Protected Variation: The Importance of Being Closed by Craig Larman
Papers on Composable Objects
Papers on patterns
- Arguments and results (if you don’t know SmallTalk you migth want to read I Can Read C++ and Java But I Can’t Read Smalltalk before)