Object Oriented Design, learn by practical questions, discussions, trade-offs, code samples. Using wiki and markdown pages