About the course
Course content
The Advanced Software Engineering MSc is a newly redesigned course that enables graduates enable students to extend their knowledge of, and gain valuable experience in, software engineering as it applies to a number of new and important areas of IT and computing.
Graduates will be able to follow a flexible program of study designed to lead to, and enhance, a career in software engineering with a focus on new technologies and areas of application, such as cybersecurity, big data, or mobile application development.
The rapid pace of technical change in software development is notorious and this has been accompanied and compounded by an increase in the complexity of the systems that are developed. Recently this has been most noticeable in the increase in mobile computing and the use of sophisticated hardware that require developer knowledge of new paradigms.
Many applications that run on these systems whether mobile or stationary are distributed in nature and will consume web services provided by service-oriented architectures and cloud-based platforms. There has also been an increase in the use of virtualisation techniques for providing flexible and maintainable systems. Businesses are now regularly using virtualised systems and techniques to lower cost and complexity and increase availability in computing environments.
The surge in cybersecurity issues and threats facing businesses and organisations that depend on IT systems has meant that software engineers need a thorough understanding of security when building and maintaining software applications and systems.
There is an acknowledged national shortage of IT and computing skills in the workforce. In the specific area of software development, a number of factors contribute to this. Most obviously, the rate of technological change means that an individual's specific knowledge frequently becomes out of date. Secondly, many significant technological developments originate in industry rather than academia, and are not yet firmly embedded in undergraduate curricula. Finally, many people enter the software industry without a specific educational background in computer science and acquire much vital knowledge in the workplace in relatively ad hoc ways.
In response to this, for many years the Department of Computer Science has been running courses that combine an emphasis on methodical approaches to the development of software applications and information systems with a determination to equip graduates with a portfolio of relevant research-oriented and practical skills and knowledge to compliment and expand their own knowledge.
The rationale behind the MSc in Advanced Software Engineering is to draw on this experience to provide an education that will cover in-depth specific skills and best current practice in software development where there is currently a significant skills shortage, whilst at the same time instilling important research-based skills that will equip students for independent lifelong learning in fast-changing and technically challenging environment.
The Masters of Science in Advanced Software Engineering takes into account the emerging needs of industry underpinned by theory and software engineering practices. As a consequence the modules emphasise both the critical conceptual underpinnings as well as the practical skills for each subject.
Professional accreditation
This programme is accredited by BCS, The Chartered Institute for IT, for fully meeting the further learning educational requirement for Chartered IT Professional (CITP) status and for partially satisfying the underpinning knowledge requirements set by the Engineering Council in the UK Standard for Professional Engineering Competence (UK-SPEC) and the Science Council for Chartered or Incorporated Engineer (CEng or IEng) status. Note that there are additional requirements, including work experience, to achieve full CITP, CEng, or IEng status. Graduates of this accredited degree will also be eligible for professional membership of BCS (MBCS).
The BCS accreditation is an indicator of the programme’s quality to students and employers; it is also an important benchmark of the programme’s standard in providing high quality computing education, and commitment to developing future IT professionals that have the potential to achieve Chartered status. The programme is also likely to be recognised by other countries that are signatories to international accords.
Career path
Career prospects for Software Engineering students are excellent and students on graduation can be expected to follow these typical career routes:
Graduate career roles
Programmer, web developer, junior specialist developer and software developer.
Early to mid-career roles
Computer systems analysts, computer system engineers, software QA, database administrators, research and development, network systems administration and software engineer.
Senior roles
Senior application developer, lead developer, chief technical officer, lead researcher, senior systems architect or analyst.