MSc in Advanced Software Engineering

University of Westminster - Faculty of Science and Technology

Program Description

MSc in Advanced Software Engineering

University of Westminster - Faculty of Science and Technology

*Subject to approval

The Advanced Software Engineering MSc is a newly redesigned course that enables graduates to 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 programme 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 complement 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.

Course content

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.

Modules

The following modules are indicative of what you will study on this course.

Core modules

Advanced Software Design

The module will explore consideration of interaction design, development and design methods and core entrepreneurial and management processes through the exploration, creation and development of concepts and business propositions for start-up innovation or client briefs.

Enterprise Development

The module will explore user centred interface design and the user experience through applied theory and practice. Building on the foundations the module will explore common user experience techniques and terminology as well as related design topics.

Concurrency and Parallelism

This module introduces the concurrent programming paradigm using a practical approach to provide the student with the skills and knowledge to be able to analyse, design and develop concurrent programmes. Practical experience of concurrent programming is provided via the concurrency features of Java, and in addition, students will be introduced to contemporary industry standards in parallel programming such as CUDA.

Research Methods and Professional Practice

This module strengthens your skills and guides your personal development plan towards the professional and academic requirements of the discipline.

Advanced Software Engineering Project

The project is an extended piece of supervised independent work relevant to the field. This can be either undertaken as a work based project, or on a topic proposed by the student or faculty.

Option modules

In addition, you will pursue a pathway of your choice, selected with the guidance and advice of our academic staff. You can choose up to five of the following pathways modules:

Big Data Theory and Practice

This module aims to explain how to manage the volume, velocity and variety of Big Data, and SQL and NoSQL databases; it also addresses issues related to data governance and data quality.

Advanced Big Data Analytics

The module discusses the use of big data analytics by the enterprise. It includes an overview of underlying concepts and technologies for big data, such as MapReduce, Hadoop, and Hive, as well as discussion of the data lifecycle, from data creation to processing, publication, and preservation.

Cloud Computing Applications

The module focusses on the principles of cloud computing and the opportunities this new computing paradigm offers for the modern enterprise. It gives an overview of underlying concepts and technologies for clouds, such as provisioning models and virtualisation, as well as cloud deployment models and application areas, and new challenges such as security and trust.

Data Mining & Machine Learning

This module will provide an overview of modern techniques in Machine Learning and Data Mining that are particularly customised for Data Science applications.

Data Visualisation and Dashboarding

This module covers the theoretical and practical aspects of data visualisation including graphical perception, dynamic dashboard visualisations, and static data ‘infographics’.

Cybersecurity Threats and Countermeasures

The module examines how human behaviour can compromise or weaken typical cybersecurity processes, and how such problems can be tackled through effective counter-measures, including automatic detection and prevention of threats.

Internet Security

This module examines the theory and practice of internet security, covering topics of cryptography and its use in establishing secure communication, secure network protocols, as well as typical attacks and techniques for compromising network security.

Mobile Application Development

This module will give the necessary knowledge and practical experience to develop native applications that take advantage of the underlying hardware features of contemporary devices.

Mobile and Ubiquitous Computing

The module will explore the mobile and ubiquitous paradigms and the role these technologies are playing within the economy. The module will consider the core technologies as well as the interfaces to support these systems.

Usability and User Experience Design

The module will explore user centred interface design and the user experience through applied theory and practice. Building on the foundations the module will explore common user experience techniques and terminology as well as related design topics.

Free Choice Module

You can choose any appropriate module at Level 7 from the Faculty with an agreement of Course Team if you can meet any requirements and it is available.

Associated careers

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.

This school offers programs in:
  • English


Last updated January 9, 2018
Duration & Price
This course is Campus based
Start Date
Start date
Contact school
Duration
Duration
1 - 5 years
Part time
Full time
Price
Price
9,500 GBP
Home/EU: £9,500 - Overseas: £13,500
Information
Deadline
Locations
United Kingdom - London, England
Start date : Contact school
Application deadline Request Info
End date Request Info
Dates
Contact school
United Kingdom - London, England
Application deadline Request Info
End date Request Info