This course familiarizes students with different concepts and techniques of software engineering mainly focusing on software practices, different process models, requirements engineering, project management, project planning, quality assurance and software testing techniques.