The aim of this course is to provide students with a working knowledge of modern software development techniques for large software systems.
Learning Outcomes
Upon completion of this course students will be able to
1. Understand the issues involved in large-scale software development and how they can be managed with modern practices, techniques and tools
2. Make effective use of modern tools and techniques for the cooperative development of software including version control, ticketing systems, build tools, etc.
3. Make effective use of modern bug prevention and detection techniques as well as refactoring techniques.
4. Make use of modern practices and techniques for the effective development of software within teams
Syllabus
The course will focus on powerful technologies such as:
1. agile software development,
2. extreme programming
3. working effectively in teams,
4. revision control systems,
5. unit and acceptance testing,
6. integrated development environments,
7. build tools,
8. ticketing systems,
9. refactoring.
- Module Supervisor: Rahmat Ullah