
The course provides an in-depth exploration of key concepts and practices in the field of software
engineering. It begins with an introduction to Software Engineering, covering the Software Development
Life Cycle (SDLC), Software Requirements Engineering, Analysis, Software Design Architecture,
Software Development Methodologies like Agile and Scrum. Students will gain hands-on experience with
Software Testing, Quality Assurance, Software Maintenance, while understanding the importance of
security, ethics, software evolution, cohesion, coupling, GRASP principles, UML diagrams, Git, GitHub,
and software cost estimation. The course concludes with a focus on emerging trends, including DevOps,
AI, Cloud-Native Software Engineering, preparing students for the evolving landscape of software
development. Jenkins, GitLab CI, or Travis CI will be explored to enhance students' knowledge of
Continuous Integration practices.