||Software Development Methodologies, emphasizing the basic ideas and discipline of software engineering and their comparative evaluation. Rapid Prototyping, Software Reuse and Automated Generation of Software. Software Design Methods. Object-oriented design and programming. Testing and validation. Software Reliability theory. Application of AI techniques. Problem solving using rule-based inference techniques. Design of Intelligent Software Development Environment (ISDE). Distributed Software Engineering. Distributed Planning, cooperation among knowledge bases, Intelligent Planning, the Coop Project.