Learning Outcomes:
On successful completion of this module the learner will be able to:
1. Demonstrate an understanding of the procedures required of a software engineer in the development of software systems as part of a team.
2. Demonstrate how to design a complex software system with identification and consideration of functional and non-functional requirements.
3. Implement a complex software system as part of a team with regards to architecture design, component interaction, division of labour, tools, version control, etc.
4. Demonstrate and understanding of software architecture, design patterns, software testing, and user acceptance testing.
Indicative Module Content:
Software Requirements
IDE & Git
Teams and Productivity
Agile
Scrum/Kanban
Databases and RDS
API Request
Testing TDD
Flask/Web Architectures
Software Architectures and Software Design