Software Engineering

This course describes the process of software development, with the main focus being on the modern agile methodologies of Scrum Framework and Extreme Programming (XP). Additionally, this course introduces the industry-standard Unified Modeling Language (UML) for modeling software via diagrams, along with software design principles, design patterns, test-driven development, refactoring, software architectures, and other modern software development concepts. This course stresses the importance of software architectures, such as MVC, for developing real-world applications. As well as lectures, this course includes several lab sessions that illustrate the material covered in lectures.

Credits: 3