Resource recommendations for teaching OOP via a practice-oriented example I intend to teach some OOP methodology but everywhere I look, there are only syntethic examples and elaborations of various concepts of the OOP world (for example: what is inheritance, how to use interfaces).

Like this or this.

What I'm looking for is a tutorial of how to solve a "real-world" problem (can be fictious) but with all (or most of) the steps of these:


How to analyze the problem?
What are the objects?
What should be taken care of?
What classes should be created?
What pattern is recommended?


I found a good book online but it is way too detailed to be a quick guidance - though not a bad start. Nevertheless, I'm looking for a shorter and more practice-oriented approach.

As you can see, I'd like to have a tutorial that teaches OOP as a whole and not its parts.

The students are mostly beginners but trying to use a wide range of OOP concepts - they have a few months of experience.

Do you know any example that has this kind of tutorial structure?
I'm currently teaching OOP using Python 3 Object-oriented Programming by Dusty Philips. Find it on Packt or Amazon.

It's a practitioners book, it covers a bit more than just OOP including some unnecessary bits if you ask me (like concurrency). I've found it works out well when combined with a few other sources like Effective Python and some online materials on design patterns. If you follow it page by page I find it a bit too much focussed on Python details and not as much on the general OOP principles. 

I think that in most cases you'll have to make up your own curriculum and fill it with bits and pieces from books you like :) There is rarely a perfect fit.