The aim of this course is to introduce students to advances software engineering methods and techniques and to provide them with opportunity to put them in practice in a team project to solve authentic problems. Methods include plan-driven and agile software processes, UML based analysis and design, and software testing and versioning. Techniques include error handling, design patterns and multithread programming.
1. Software processes (1.1 Predictive plan-driven methods, 1.2 Adaptive agile methods)
2. Software design (2.1 Data structures stacks, queues, trees…, 2.2 Design patterns)
3. Advanced programming (3.1 Test-driven development, 3.2 Error handling, 3.3 Multithreading, synchronisation and coordination)
4. Software engineering techniques (4.1 Software quality and metrics, 4.2 Versioning, 4.3 Software testing)
By the end of the course, students should be able to do the following:
Curriculum explorer: Click here
SCQF Level: 11
Credits: 15