This course introduces the object-oriented view of software analysis, modeling, and design. It defines all of the relevant concepts needed to understand the paradigm. A complete graphical notational scheme is taught for the purpose of diagramming objects and object interactions. The course covers the design, evolution, modification, and test/verifications phases of object-oriented development in some depth. Since project management plays a key role in the success of object-oriented development, its relation to the development process is discussed. The course also surveys the various object-oriented languages and tools available. Prerequisites: ICT 4300.