||This course familiarizes the students with the principles and techniques for object-oriented software development. The students will use UML and an object-oriented language such as Java or C++ to complete a term programming project. Course contents: 1. Object-oriented modeling with UML 2. Object-oriented languages and environments 3. Object-oriented software development process 3.1 Object-oriented analysis - requirement analysis, use case analysis, conceptual models, finite state machine models 3.2 Object-oriented design - real use cases, collaboration diagrams, class design diagrams, design patterns 3.3 Construction - mapping design to codes 4. Term project.