How to Design Classes (2012) [pdf]
ccs.neu.edu
ccs.neu.edu
For the later chapters, the reader is encouraged to explore the concepts within a full-fledged Java or C# development environment such as Eclipse, IntelliJ, Visual Studio, etc.
Edit: working again