The specification, development, management, and evolution of software systems make up the discipline of software engineering. In this course, students apply methods and tools to develop software designs and specifications. The course focuses on universal techniques for developing large-scale systems rather than individual algorithms. In order to build good business systems, it is particularly important that the student place a great deal of emphasis in exploring the different process models and the topics covering requirements analysis and system specification, system architecture and design, verification and validation and system evolution. During the course, students will participate in a real problem solving/software development project which will expose them to the processes, tools and techniques of professional product quality software development.