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.
The following modules are indicative of what you will study on this course.
-ADVANCED SOFTWARE DESIGN
-CONCURRENCY AND PARALLELISM
-RESEARCH METHODS AND PROFESSIONAL PRACTICE
-ADVANCED SOFTWARE ENGINEERING PROJECT
Option modules - In addition you will pursue a pathway of your choice, selected with the guidance and advice of our academic staff. You can chose up to five of the following pathways modules:
-BIG DATA THEORY AND PRACTICE
-ADVANCED BIG DATA ANALYTICS
-CLOUD COMPUTING APPLICATIONS
-DATA MINING & MACHINE LEARNING
-DATA VISUALISATION AND DASHBOARDING
-CYBERSECURITY THREATS AND COUNTERMEASURES
-MOBILE APPLICATION DEVELOPMENT
-MOBILE AND UBIQUITOUS COMPUTING
-USABILITY AND USER EXPERIENCE DESIGN
-FREE CHOICE MODULE
Graduates will typically be part of a team working on sophisticated n-tier applications, as a designer, programmer, systems administrator or systems analyst (among others). Graduates will also find positions within new and established businesses that specialise in mobile applications. Other roles are possible in computer science research for either a commercial enterprise or academic institution. Further PhD study opportunities within the University of Westminster are also an option.