Course co-ordinator(s): Dr Abrar Ullah (Dubai).
Aims:
In this course, students will primarily develop understanding of both theoretical and practical knowledge and skills in applied
development and operations. The course aims are:
• To instil understanding of the concepts and benefits of applied software engineering methods
• To provide knowledge of change and configuration management
• To develop understanding of software deployment architecture
• To give practical experience of continuous integration methods
• To consolidate proficiency in version control and code management
• To give practical experience of deployment and delivery techniques
• To give further practical experience of staging, testing and continuous testing
Detailed Information
Course Description: Link to Official Course Descriptor.
Pre-requisites: none.
Location: Dubai.
Semester: 2.
Syllabus:
• Source Control: code management, secure source control, code build,
• Code pipelines: staging, pre-production and production environment setting and deployment
• Architectures: monolithic, microservices, virtualization and container orchestration
• Methodologies in software engineering practice; Agile, Scrum
• Relevant technologies: version control, staging and pipelines, virtual machines, containers, platforms
Pre-requisites: Programming and software engineering knowledge and skills.
Learning Outcomes: Subject Mastery
• Ability to choose a suitable software development environment and development methodology for specific software development tasks and justify the choice
• Demonstration of skills in the use of virtualization and containerization in development, deployment and testing practices
• Understanding of key concepts and application of change and configuration management
• Demonstration of critical understanding of applied software architecture in cloud and virtual environments and ability to evaluate their appropriateness in different situations
• Demonstration of skill in design and implementation of continuous testing and continuous integration approach in enterprise development environment
• Demonstration of critical understanding of team approach to staging, software testing and production life cycle
• Understanding of key security concepts and application during software development and operations
Learning Outcomes: Personal Abilities
- Appreciation of use of methodology to ground system analysis, design and development and change/problem management proces
- Understanding of source control, staging, testing and deployment
- Practice in working in a group, choosing a methodology, reaching a consensus, and working with others to develop, test and deliver software projects
- Taking responsibility for own work, taking responsibility in the development of resources, critical reflection on development, testing and deployment process
- Effective appreciation of professional standards in the change management, code management, and testing
- Showing initiative, creativity and team working skills in collaborative software development
Assessment Methods: Due to covid, assessment methods for Academic Year 2021-22 may vary from those noted on the official course descriptor. Please see the Computer Science Course Weightings and the Maths Course Weightings for 2020-21 Semester 1 assessment methods.
SCQF Level: 11.
Credits: 15.
