This redesigned course focuses on the specific emerging domains within computer science and software engineering, where there is increasing industry demand and a skills shortage. It will enable you to develop the skills and knowledge you need to build your career in these new and important areas of computer science, significantly enhancing your employment opportunities while also providing a solid core of good software engineering practice that will enhance and reinforce your existing skills.
Among the areas you will cover is the development of sophisticated touch surface devices such as the iPad and the iPhone, which requires skills in native programming techniques, graphics and animation, and mobile application development. The course includes modules that will give you the knowledge and practical techniques to develop applications for these new devices, covering the rich, user-centric, multipletouch client software and the web-based service that this software consumes.
The course also covers the increasingly important area of resource virtualisation, services and systems administration. Businesses are now regularly using virtualised systems and techniques to lower costs and complexity and increase availability in computing environments. This course has a pathway of modules that will impart these principles and practice and provides a solid foundation for you to gain entry into this specialism.
• Computer Science Project
You will undertake an extended, individual piece of work on an approved topic, which unifies and extends the theoretical and practical knowledge of software engineering by applying them to develop a software application. A supervisor will provide you with guidance on planning, development, documentation and demonstration.
• Research Methods
This module is shared with other MSc courses run by the Department. Its main focus is on introducing you to research, and developing the skills you need to read and evaluate original research literature. This in turn leads into the Project, and a major outcome of the module should be a Project Proposal. In addition, the module addresses certain aspects of PDP.
• Software Engineering Context
You will examine the nature of software engineering and important external factors that influence the work of a practising software engineer. In particular you will explore software engineering life cycles, requirements engineering, user-interface design, software quality assurance, testing, and selected professional issues.
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:
• 3D Animation
This module introduces you to the principles, algorithms, and techniques of 3D computer animation. You will undertake both theoretical study of 3D computer animation, and practical animation techniques using industry standard applications and languages.
• 3D Graphics
This module introduces you to the theories, algorithms, and applications of 3D computer graphics. You will undertake both theoretical study of 3D graphics, and practical 3D graphics programming skills using the industry-standard graphics API for embedded accelerated 3D graphics (OpenGL ES) for application development on embedded systems including game consoles, phones (eg iPhone), appliances and vehicles.
• Enterprise Application Development
This module introduces you to the development of a distributed application within a contemporary software framework such as .NET and J2EE. You will examine the underlying principles and apply them to the development of typical n-tier application. You will consider both stationary and mobile applications will be considered. Other topics covered include: enterprise development frameworks, client, business, repository layers and MVC design pattern, event-driven programming, GUI applications, storage and file handling, database access, and web services.
• iPhone Application Development
You will gain the necessary knowledge and practical experience to develop applications for native platforms through this module. It will give you the skills to produce applications that take advantage of the underlying hardware features of contemporary mobile devices, such as smartphones and multi-touch surfaces, location features, and natural gesturing though combination of accelerator and touch surfaces.
• Mobile Application Development
The module examines the use of application development technology for mobile devices including Java-enabled devices and Android.
• Pervasive Computing and Interactive Systems
The module is designed to give you a theoretical and practical background to the development of immersive environments for various platforms, using industry standard toolkits. You will focus particularly on the algorithms, theories and design of new digital media, and their application to multi-platform environments such as mobile interfaces, pervasive games, web applications and web logs (blogs), interactive installations, interactive museum guides, and virtual and augmented environments.
• Resource Virtualisation
Virtualisation introduces abstraction into hardware and software architectures. This abstraction enables creating hardware and software solutions independent of complex low-level details using a black box model. As a result, software sitting on top of this black box should not know what is happening inside this box. Virtualisation enables workload consolidation and allows interoperability among different hardware and software platforms, also providing a more robust and secure computing environment. The module covers major aspects of virtualisation, particularly hardware virtualisation (processor, memory, storage, network) at one side and software virtualisation (application and operating system) at the other side.
• Service Oriented Architecture and Web Services
You will explore software-oriented architecture and web services including its architecture, features, standards (such as WSDL, UDDI and SOAP) and implementations. The module covers analysis, design, development, installation and maintenance issues of web services-based applications. You will gain theoretical knowledge by learning the service-oriented architecture (SOA), web services models, and web services standards, and practical skill by designing and developing web services-based applications.
• System Administration
This module covers the skills and techniques required to manage and system administer computers in a wide range of environments. Topics covered include common tasks, network-oriented administration, hardware and maintenance.
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.
At Westminster, we have always believed that your University experience should be designed to enhance your professional life. Today’s organisations need graduates with both good degrees and employability skills, and we are committed to enhancing your graduate employability by ensuring that career development skills are embedded in all courses.
Opportunities for part-time work, placements and work-related learning activities are widely available, and can provide you with extra cash and help you to demonstrate that you have the skills employers are looking for. In London there is a plentiful supply of part-time work – most students at the University of Westminster
work part time (or full time during vacations) to help support their studies.
We continue to widen and strengthen our links with employers, involving them in curriculum design and encouraging their participation in other aspects of career education and guidance. Staff take into account the latest data on labour market trends and employers’ requirements to continually improve the service delivered to students.
You will normally have a good honours degree in a subject related to computer science from a UK university, or equivalent qualification. Suitable subjects might include computing, computer science or software engineering, joint degrees including one of these subjects, or possibly other science or maths-based subjects that include significant amounts of computer science material.