Engineering software development is one of the key areas in the European information technology sector. It is a fast moving subject of crucial importance to industry and forms the basis for a wide and ever growing variety of applications.

This course with its blend of skills-based and subject specific material, has the fundamental objective of equipping you with the generic hands-on skills and up-to-date knowledge adaptable to the wide variety of applications that this field addresses.

Choose from three specialist options:


  • Start dateSeptember
  • DurationOne year full-time, two-three years part-time
  • DeliveryTaught modules 45%, Group project 5%, Individual research project 50%
  • QualificationMSc
  • Study typeFull-time / Part-time
  • CampusCranfield campus

Who is it for?

If you intend to make a career in software development, whether it is in the data centre, on the desktop or in the rapidly expanding mobile application space, you need to have a strong basis in software engineering. The MSc in Computational and Software Techniques in Engineering is unique in that it combines software engineering with high performance computing, giving you the tools and techniques that employers are looking for and an advantage in the job market.

Why this course?

This course produces well qualified graduates, ready to take on professional roles without additional training on the job. Due to this, our graduates are in high demand with industry leaders visiting Cranfield to showcase their graduate roles.

In addition to the software/computational topics, we deliver a core module entitled Management for Technology, which focuses on those aspects of management which will enable you to fulfil a wider role in an organisation more effectively.

We are very well located for visiting part-time students from all over the world, and offers a range of library and support facilities to support your studies.  This enables students from all over the world to complete this qualification whilst balancing work/life commitments.This Msc programme benefits from a wide range of cultural backgrounds which significantly enhances the learning experience for both staff and students.

Informed by Industry

The course is directed by an industrial advisory panel who meet twice a year to ensure that it provides the right mix of hands-on skills and up-to-date knowledge suitable for to the wide variety of applications that this field addresses.

A number of members also attend the annual student thesis presentations which take place at the end of July, a month or so before the end of the course. This provides a good opportunity for students to meet key employers.

The Industry Advisory Panel includes:

  • Dr Adam Vile, Excelian
  • Mr Darren Baldwin, Excelian
  • Prof Chris Greenough, Science and Technologies Facilities Council (STFC)
  • Mr Matthew Breach, Ultra Electronics Sonar Systems
  • Mr Nigel Sedgewick, Selex
  • Dr Sanjiv Sharma, Airbus UK
  • Dr Steve King, Rolls Royce
  • Dr Julian Turnbull, AV
  • Mr Jon Loach, FACTSET
  • Prof David Emerson  (Scientific Computing, STFC Daresbury )
  • Dr Stuart Barnes (Software Engineer, Cambridge).

Course details

You will complete four compulsory modules followed by specialist modules from your selected MSc option. In addition to the taught component, you will complete a group project and an individual research project.

Group project

The group design project is intended to provide you with invaluable experience of delivering a project within an industry structured team. The project allows you to develop a range of skills including learning how to establish team member roles and responsibilities, project management, delivering technical presentations and gaining experience of working in teams that include members with a variety of expertise and often with members who are based remotely.

Part-time students are encouraged to participate in a group project as it provides a wealth of learning opportunities. However, an option of an individual dissertation is available if agreed with the Course Director.

Group Project subject areas include:

  • Applications of Computational Engineering Design
  • Applications of DSP and Computer Vision
  • Applications in High-End Computing.

Individual project

The individual research project allows you to delve deeper into an area of specific interest. It is very common for industrial partners to put forward real world problems or areas of development as potential research thesis topics. For part-time students it is common that their research thesis is undertaken in collaboration with their place of work.


Taught modules 45%, Group project 5%, Individual research project 50%


Keeping our courses up-to-date and current requires constant innovation and change. The modules we offer reflect the needs of business and industry and the research interests of our staff and, as a result, may change or be withdrawn due to research developments, legislation changes or for a variety of other reasons. Changes may also be designed to improve the student learning experience or to respond to feedback from students, external examiners, accreditation bodies and industrial advisory panels.

To give you a taster, we have listed the compulsory modules and (where applicable) some elective modules affiliated with this programme which ran in the academic year 2018–2019. There is no guarantee that these modules will run for 2019 entry. All modules are subject to change depending on your year of entry.

Compulsory modules
All the modules in the following list need to be taken as part of this course

C++ Programming

Module Leader
  • Dr Irene Moulitsas

    Object oriented programming (OOP) is the standard programming methodology used in nearly all fields of major software construction today, including engineering and science and C++ is one of the most heavily employed languages. This module aims to answer the question ‘what is OOP’ and to provide the student with the understanding and skills necessary to write well designed and robust OO programs in C++. Students will learn how to write C++ code that solves problems in the field of computational engineering, particularly focusing on techniques for constructing and solving linear systems and differential equations. Hands-on programming sessions and assignment series of exercises form an essential part of the course.
    An introduction to the Python language is also provided.

    • The OOP methodology and method, Classes, abstraction and encapsulation;
    • Destructors and memory management, Function and operator overloading, Inheritance and aggregation, Polymorphism and virtual functions, Stream input and output;
    • Templates, Exception handling, The C++ Standard Library and STL.
Intended learning outcomes

On successful completion of this module a student should be able to:

1. Apply the principles of the object oriented programming methodology - abstraction, encapsulation, inheritance and aggregation - when writing C++ programs.
2. Create robust C++ programs of simple to moderate complexity given a suitable specification.
3. Use the Standard Template Library and other third party class libraries to assist in the development of C++ programs.
4. Solve a range of numerical problems in computational engineering using C++.
5. Use development environments and associated software engineering tools to assist in the construction of robust C++ programs.
6. Evaluate existing C++ programs and assess their adherence to good OOP principles and practice.

Computational Methods

Module Leader
  • Dr Irene Moulitsas

    The module aims to provide an understanding of a variety of computational methods for integration, solution of differential equations and solution of linear systems of equations.


    The module explores numerical integration methods; the numerical solution of differential equations using finite difference approximations including formulation, accuracy and stability; matrices and types of linear systems, direct elimination methods, conditioning and stability of solutions, iterative methods for the solution of linear systems.

Intended learning outcomes On successful completion of this module a student should be able to:
1. Implement and use numerical integration methods.
2. Use appropriate techniques to formulate numerical solutions to differential equations.
3. Evaluate properties of numerical methods for the solution of differential equations.
4. Choose and implement appropriate methods for solving differential equations.
5. Evaluate properties of systems of linear equations.
6. Choose and implement appropriate methods for solving systems of linear equations.
7. Evaluate the behaviour of the numerical methods and the numerical solutions.

Management for Technology


    To provide knowledge of those aspects of management which enable an engineer to fulfil a wider role in a business organisation more effectively.

      • Engineers and Technologists in organisations: The role of organisations and the challenges facing engineers and technologies.
      • People management: Understanding you. Understanding other people. Working in teams. Dealing with conflicts.
      • The Business Environment: Understanding the business environment; identifying key trends and their implications for the organisation.
      • Strategy and Marketing: Developing effective strategies; Focusing on the customer; building competitive advantage; The role of strategic assets.
      • Finance: Profit and loss accounts. Balance sheets. Cash flow forecasting. Project appraisal.
      • New product development: Commercialising technology. Market drivers. Time to market. Focusing technology. Concerns.
      • Business game: Working in teams (companies), students will set up and run a technology company and make decisions on investment, R&D funding, operations, marketing and sales strategy.
      • Negotiation: Preparation for Negotiations. Negotiation process. Win-Win solutions.
      • Presentation skills: Understanding your audience. Focusing your message. Successful presentations. Getting your message across.

Intended learning outcomes

On successful completion of this module a student should be able to:
1. Recognise the importance of teamwork in the performance and success of organisations with particular reference to commercialising technological innovation.
2. Operate as an effective team member, recognising the contribution of individuals within the team, and capable of developing team working skills in themselves and others to improve the overall performance of a team.
3. Compare and evaluate the impact of the key functional areas (strategy, marketing and finance) on the commercial performance of an organisation, relevant to the manufacture of a product or provision of a technical service.
4. Design and deliver an effective presentation that justifies and supports any decisions or recommendations made
5. Argue and defend their judgements through constructive communication and negotiating skills

Computer Graphics

Module Leader
  • Dr Karl Jenkins

    Computer graphics is a key element in the effective presentation and manipulation of data in engineering software. The aim of this module is to provide an in depth overview of the mathematical and software principles behind 2D and 3D visualisation, the viewing pipeline, and practical implementation in the widely used OpenGL graphics library. Representative GUI based 2D and 3D OpenGL applications using the Windows environment are used. Reference is also made to the programming model employed in OpenGL-ES, the version of OpenGL created for embedded devices and the basis for Android and iPhone apps. Hands-on exercises and an assignment supplement the learning process.

    • Mathematical principles behind 2D and 3D visualisation, Matrix transformations, The viewing pipeline, Modelling, viewing and projection, OpenGL graphics library, GLSL and shader programming.
    • Development of CG applications using OpenGL, GLSL and Qt, UI
    • WebGL, OpenGL-ES.

Intended learning outcomes On successful completion of this module a student should be able to:
1. Apply the principles of the viewing pipeline to compute device coordinates from a suitable ‘world coordinate system’ model.
2. Use the mathematical basis behind 2D/3D modelling and viewing to solve visualisation problems in OpenGL.
3. Understand, write and use basic shader programs using GLSL
4. Create simple interactive computer graphics based applications using OpenGL, GLSL (the shading language) and Qt.
5. Evaluate the major differences between the different version of OpenGL.

Ophelie Choupin promo

The reason why I wanted to come to Cranfield is because it's one of the best ranked schools. I really like coding and using computational tools to solve engineering problems. I think the course is really relevant and useful for today's digital era. 

Ophélie Choupin, Engineer PhD Student

Your career

The MSc in Computational and Software Techniques in Engineering is designed to equip you with the skills required to pursue a successful career working in the UK and overseas. This course attracts enquiries from companies in the rapidly expanding engineering IT industry sector across the world who wish to recruit high quality graduates.

This course is meeting the industry demand for personnel with expertise in engineering software development and for those who have strong technical programming skills in industry standard languages and tools.

Some of our graduates go onto PhD degrees.  Project topics are most often supplied by individual companies on in-company problems with a view to employment after graduation – an approach that is being actively encouraged by a growing number of industries.

In recent years, our graduates have been employed in the following positions:

  • Analyst, Morgan Stanley
  • Asset Management Engineering, EON UK
  • Computer Science Engineer, Sopra Group
  • Design Manager, Hindustan Aeronautics Ltd
  • Financial Software Developer, Bloomberg
  • IT Architecture Consultant, Solucom
  • Mathematical Software Engineer, Arithmetica Ltd
  • PLM Consultant, PCO Innovation
  • Research Engineer, CASSIDIAN
  • Research Engineer, Moodstocks SAS
  • Software Developer, CAE Engineering
  • Software Developer, Mandara Capital
  • Software Developer, Ocado
  • Software Engineer, Commerzbank
  • Software Engineer, FactSet
  • Software Engineer, IBM
  • Software Engineer, Oracle
  • Software Engineer, Techtalk
  • Trainee Engineer, Arcelor Mittal.

How to apply

Online application form. UK students are normally expected to attend an interview and financial support is best discussed at this time. Overseas and EU students may be interviewed by telephone.