Fundamentals of object-orientation. Object-oriented (OO) modeling using UML. Experimentation in OO analysis: identification of use cases and objects. Experimentation in OO design: class hierarchies. Implementation in OO programming. Design Pattern (overview). Case study to reinforce the underlying concepts. Note: No particular software development process is prescribed in the course. However, the key process activities followed will be the Unified Software Development Process (USDP).