Covers O–O concepts, tools, development life cycle, problem solving, modeling, analysis, and design, while utilizing UML (Unified Modeling Language) for O–O modeling. UML has become the standard notation for modeling O–O systems and is being embraced by major software developers like Microsoft and Oracle.