Masters degrees in Software Engineering offer advanced training in the techniques and principals to design, construct and test the maintenance of computer programs and detect any operational problems.
Taught MSc courses are typical for this field, though research-oriented MRes and MPhil programmes may also be available at some institutions. Entry requirements normally include an appropriate undergraduate degree such as Computer Science.
You will develop the ability to analyse software problems, create and evaluate software designs and develop and appropriately test software solutions.
Software development techniques include user-centred design and service-oriented architectures. Programming and cryptography (coding) techniques such as JAVA script, UML modelling language and XML-enabled interoperability (information exchange) are also explored.
Training is also provided in managing data structures within a range of computing systems such as mobile technologies, cloud computing, and big data. Particularly, you will analyse privacy & security methods, as well as evolutionary computation.
Traditional careers include positions in software houses, and consultancy for a range of organisations. These could include banks, large manufacturers, retailers, public services, defence, aerospace and telecommunications companies.
The Advanced Software Engineering with Management MSc is an advanced study pathway that aims to provide computer graduates with a thorough understanding of the role of IT in business, and how information systems impact on trade and organisational processes. The course also introduces core management theories and essential problem-solving skills in preparation for senior roles in the IT industry.
The Advanced Software Engineering with Management MSc course focuses on innovative techniques for the development of software systems, with an emphasis on the construction and management of internet-oriented, agent-oriented and large software systems. You will develop your expertise and skills in software engineering, preparing you for a career in software engineering, software maintenance and software testing. The programme will also equip you with essential research, analytical and critical thinking skills.
The course is made up of optional and required modules, and you will complete the course in one year, studying September to September. You must take modules totalling 180 credits to meet the requirements of the qualification, and 60 credits will come from an individual project of 15000 words. You will also participate in a group project that will provide you with invaluable experience of working in a team to design, implement and document a substantial software product.
For graduates with substantial experience of computer science, this programme will develop your expertise and skills in software engineering, preparing you for a career in software engineering, software maintenance and software testing. Research for your individual project will provide valuable preparation for a career in research or industry.
We use lectures, seminars and group tutorials to deliver most of the modules on the programme. You will also be expected to undertake a significant amount of independent study.
The primary method of assessment for this course is a combination of written examinations, essays, coursework and individual or group projects and oral presentations.
The majority of learning for this degree takes place at the Strand Campus, with occasional lectures and practical sessions taking place at the Waterloo Campus. Please note that locations are determined by where each module is taught and may vary depending on the optional modules you select.
Our graduates have continued on to have very successful careers working for software consultancy companies, specialised software development businesses and the IT departments of large institutions (financial, telecommunications and public sector). Recent employers include Ernst & Young, Accenture and M-Netics. While some of our graduates have entered into the field of academic and industrial research in areas such as software engineering, algorithms and computer networks.