The MSc in Software Development provides a year of intensive education in software engineering and is ideal for graduates of disciplines other than computing.
This course is designed to develop the technical, analytical and professional skills required to take on software development roles within the IT industry.
Software development skills, such as programming, are essential to the technological evolution and advancement of most sectors within the economy. As a result, there is a very strong demand for software professionals.
The programme aims to:
◦provide a solid understanding of software engineering principles and techniques
◦develop the ability to analyse software problems, create and evaluate software designs and develop and appropriately test software solutions
◦foster critical analysis and evaluative skills pertaining to software engineering
The programme is separated into three parts; a foundational element covering the basics of software development and programming; an advanced element where you can tailor your area of specialism; and finally a substantial individual project.
Most foundational modules are studied in the first semester and cover introductory programming using the Java programming language alongside the foundations of software engineering and databases. Coverage of more advanced algorithmic and object-oriented programming continues into the second semester. The foundation modules are intended to provide students with an essential grounding in software engineering in a manner that is consistent with Level M requirements.
The second semester provides a number of advanced software engineering modules which permit specialism within key areas of software development. The advanced modules currently encompass aspects such as Requirements Engineering, Software Quality, Software Design Principles and Patterns, and Software Testing and Verification. Alongside these there is an opportunity to take an introductory module in Capital Markets which would help to prime students for software development roles within the financial sector.
The combination of lectures, laboratory work, tutorials and group-based projects employed throughout the foundational and advanced elements equips students with the skills needed to both design and implement complex software systems.
Three month summer projects are taken individually with supervision from a member of the School's teaching staff. The projects permit students to combine and apply the skills gained within individual modules towards the creation of a significant software artefact. Projects can be selected by students from a list put forward by the local software industry and the School. Where appropriate an industrial co-supervisor will be assigned.
Software Testing and Verification
The MSc in Software Development is, by its nature, an intensive and practical programme of study. Students build strong software development skills by putting theory into practice and this is reflected within the assessment. A mixture of individual and group based projects, assignments and practical examinations provide the primary means of assessment within modules, with written examinations also employed for some modules. The summer project is assessed through a written dissertation alongside the presentation and demonstration of the created software artefact.
The School has strong links with the local, national and international software companies situated around the University. Students have ample opportunity to meet and engage with employers through hosted careers fairs, guest lectures and industrial facing demonstrations. Where possible, MSc dissertations will be set and co-supervised by an industrial partner and may involve an on-site placement.
Employment opportunities in software engineering are excellent as evidenced through the consistent and continued growth of the software sector. A career within the profession is not only well remunerated but also rewarding, with software professionals able to select between a range of career progression paths. Given the diversity of career paths, the communicative, business-related, client-facing, analytical and evaluative skills gained from a primary degree are strongly valued by IT employers and will help augment the employment opportunities of graduates from this MSc.
Our Software Systems Engineering (SSE) MSc provides an ideal foundation for PhD study. The UCL SSE group is regularly ranked in the top three groups in the world (Microsoft Academic Search), you will be taught by those who are setting the international agenda, and our research has been repeatedly rated as world-class. Fully-funded PhD scholarships are available for high-performing students.
Students are trained in the principles and techniques of engineering large, complex software systems and gain the opportunity to apply these techniques in a realistic group project setting. The programme analyses current practice in software systems engineering, looking at the most significant trends, problems and results in complex software systems.
Students undertake modules to the value of 180 credits.
The programme consists of five core modules (75 credits), and either a group project (60 credits) or three research modules (90 credits) including a project. Students will be able to select between one and three modules (15 to 45 credits) from electives.
Students must take either the Group Project in Software Systems Engineering (60 credits) with 45 credits from electives, or Research Methods, Project and Seminar in Software Engineering (90 credits) with 15 credits from electives.
Please note: the availability and delivery of optional modules may vary, depending on your selection.
A list of acceptable elective modules is available on the UCL Computer Science webpage.
Most students participate in a group industrial project, generally in close collaboration with one of our industrial partners.
Other students undertake either an individual or small-group research project, under the supervision of academics in UCL's Software Systems Engineering group.
Teaching and learning
The programme is delivered through a combination of lectures, written and laboratory exercises, and group project supervision. Student performance is assessed through written exercises with modelling notations, laboratory exercises with tools and environments, unseen examination papers, and a significant, comprehensive group project.
Further information on modules and degree structure is available on the department website: Software Systems Engineering MSc
The department typically does not hire postgraduate students on research or teaching assistantships because the students need to work full-time on their studies for the programme.
Four MSc Scholarships, worth £4000 each, are made available by UCL Computer Science to UK/EU offer holders with a record of excellent academic achievement. The closing date is 30 June 2018. For more information, please see the department pages.
For a comprehensive list of the funding opportunities available at UCL, including funding relevant to your nationality, please visit the Scholarships and Funding website.
This professionally oriented programme provides an ideal foundation for graduates who wish to pursue a career as a software architect or leader of software development organisations. It also provides an excellent introduction for those who want to pursue research in software systems engineering.
Graduates from UCL are keenly sought after by the world's leading organisations, and many progress in their careers to secure senior and influential positions. UCL Computer Science (UCL-CS) graduates are particularly valued as a result of the department's strong international reputation, strong links with industry, and ideal location close to the City of London.
Graduates have found positions at global companies such as Barclays and RBS.
Recent career destinations for this degree
There is, throughout the world, a strong demand for software engineers with solid foundations covering not only the programming aspects of software development, but also aspects related to requirements engineering, software architectures, system integration, and testing.
Following graduation, our students are generally hired as software engineers or software architects, sometimes by companies they have engaged with in the context of their MSc project.
Careers data is taken from the ‘Destinations of Leavers from Higher Education’ survey undertaken by HESA looking at the destinations of UK and EU students in the 2013–2015 graduating cohorts six months after graduation.
UCL Computer Science is recognised as a world-leader in teaching and research.
UCL received the highest percentage (96%) for quality of research in Computer Science and Informatics in the UK's most recent Research Excellence Framework (REF2014).
Our Master's programmes have some of the highest employment rates and starting salaries, with graduates entering a wide variety of industries from entertainment to finance.
We take an experimental approach to our subject and place a high value on our extensive range of industrial collaborations. In the recent past, students have worked on projects and coursework in collaboration with Microsoft, IBM, JP Morgan, Citigroup and BNP Paribas.
CITPFL - Accredited by BCS. CEng (partial fulfilment) - Accreditation by the BCS.
This industry-focused course is for Computer Science graduates and experienced professional programmers interested in developing high-quality, complex software systems and aiming at a high-quality career in the industry, e.g. software houses, consultancies, and major software users across different sectors.
Students will have a keen interest in designing complex software systems, coding them in a programming language using the latest technologies (SOA, cloud, etc.), and ensuring that they are of high quality and that they actually meet the needs of their stakeholders.
You will develop skills in analysing requirements and designing appropriate software solutions; designing and creating complex software systems to solve real-world problems, evaluating and using advanced software engineering environments, design methods and programming languages, and evaluating and responding to recent trends in interoperability and software development.
The course focuses on advanced engineering concepts and methods, as well as design issues for the systematic development of high-quality complex software systems. These are explored using industrial strength technologies, like the C++ and Java programming languages and the UML modelling language.
The course covers significant trends in systems development, including service-oriented architecture, cloud computing, and big data. The course is delivered by acknowledged experts and draws on City's world-class research in Systems and Software Engineering, which has one of the largest groups of academics working in this area in London, covering almost all aspects - from requirements, to designing reliable systems for the nuclear industry.
Accredited by BCS, The Chartered Institute for IT for the purposes of fully meeting the further learning academic requirement for registration as a Chartered IT Professional, and on behalf of the Science Council for the purposes of partially meeting the academic requirement for registration as a Chartered Scientist and a Chartered Engineer.
As a postgraduate student on a Computing and Information Systems course, you will have the opportunity to complete up to six months of professional experience as part of your degree.
Our longstanding internship scheme gives you the chance to apply the knowledge and skills gained from your taught modules within a real business environment. An internship also provides you with professional development opportunities that enhance your technical skills and business knowledge.
Internships delivered by City, University of London offer an exceptional opportunity to help you stand out in the competitive IT industry job market. The structure of the course extends the period for dissertation submission to January, allowing you to work full-time for up to six months. You will be supported by our outstanding Professional Liaison Unit (PLU) should you wish to consider undertaking this route.
Software Engineering MSc is available full-time (12 months) as well as part-time (up to 28 months).
Students successfully completing eight taught modules and the dissertation for their individual project will be awarded 180 credits and a Master's level qualification. Alternatively, students who do not complete the dissertation but have successfully completed eight taught modules will be awarded 120 credits and a postgraduate diploma. Successful completion of four taught modules (60 credits) will lead to the award of a postgraduate certificate.
Each module is assessed through a combination of coursework and examination.
You will develop skills in analysing requirements and designing appropriate software solutions; designing and creating complex software systems to solve real-world problems, evaluating and using advanced software engineering environments, design methods and programming languages and evaluating and responding to recent trends in interoperability and software development.
The focus of the course is on advanced engineering concepts and methods, as well as design issues for the systematic development of high-quality complex software systems. These are explored using industrial strength technologies, such as the C++ and Java object-oriented programming languages and the UML modelling language.
The course covers significant trends in systems development, including service-oriented architecture, mobile and pervasive computing, cloud computing, big data, and XML-enabled interoperable services. The course is delivered by acknowledged experts and draws on City's world-class research in Systems and Software Engineering. City has one of the largest groups of academics working in the area in London, working on almost all aspects of the area - from requirements, to designing reliable systems for the nuclear industry.
The MSc in Software Engineering aims to meet the significant demand for graduates with a good knowledge of computing. This demand arises from consultancies, software houses, major software users such as banks, large manufacturers, retailers, and the public services, defence, aerospace and telecommunications companies.
Typical entrants to the course have a degree in an engineering or scientific discipline, and wish to either move into the software engineering field or to the development of software for their current field. Entrants must have previous exposure to computing, especially to programming (particularly in Java or C#) and relational databases (from either academic or professional experience).
From this base, the course provides solid technical coverage of advanced software development, including such widely used languages as C++, Java, UML and XML for which demand is particularly high. The course is therefore quite demanding; its success in providing advanced academic education along these lines is evident from the fact that recent graduates of the course are currently employed in a wide spectrum of organisations.
Of course, the employment value of a master's degree is not just short term. Although on-the-job training and experience as well as technology specific skills are valuable, they can be rather narrow and difficult to validate, and to transfer. The structure of this course ensures that there is a strong balance between the development of particular skills and a solid education in the enduring principles and concepts that underlie complex software system development.
In parallel to your degree you will be able to register for a SAP TERP10 Certification course at a substantial discount, thus obtaining an additional, much sought-after qualification.
Learning how to design high-level software that guarantees safety and correctness while still being in control of its complexity.
Software plays a role in almost every aspect of our daily lives and in every organisation anywhere in the world. It can often be a crucial key to their success. Well-structured software that is attuned to an organisation’s needs and future plans can be cost effective, improve efficiency, offer better services and be innovative. Many companies, in every branch out there, are therefore looking for highly skilled software specialists. Graduates of the Master’s specialisation in Software Science will have no trouble finding a job.
Producing software is not merely a technological enterprise but a deeply scientific and creative one as well. Modern cars drive on 20 million lines of code. How do we develop all this software and control its complexity? How do we ensure correctness of software on which the lives in a speeding car literally depend on? This specialisation goes far beyond basic code writing. It’s about analysing and testing code in order to improve it as well as simplify it.
- Although not the only focus, our programme puts a lot of emphasis on embedded software and functional programming.
- We teach a unique range of software analysis techniques and application down to practical/commercial use in industry.
- This specialisation builds on the strong international reputation of the Institute for Computing and Information Sciences (iCIS) in areas such as model based and virtual product development, advanced programming, and domain specific languages. We also closely collaborate with the Embedded Systems Institute.
- Our approach is pragmatic as well as theoretical. As an academic, we don’t just expect you to understand and make use of the appropriate tools, but also to program and develop your own.
- For your Master’s research we have a large number of companies like Philips, ASML and NXP offering projects. There are always more projects than students.
- Thanks to free electives students can branch out to other Computing Science domain at Radboud University such as security, machine learning or more in-depth mathematical foundations of computer science.
- The job opportunities are excellent: some of our students get offered jobs before they’ve even graduated and almost all of our graduates have positions within six months after graduating.
See the website http://www.ru.nl/masters/softwarescience
1. A completed Bachelor's degree in Computing Science or related area
In order to get admission to this Master’s you will need a completed Bachelor’s degree in Computing Sciences or a related discipline.
2. A proficiency in English
In order to take part in the programme, you need to have fluency in English, both written and spoken. Non-native speakers of English without a Dutch Bachelor's degree or VWO diploma need one of the following:
- TOEFL score of >575 (paper based) or >232 (computer based) or >90 (internet based)
- IELTS score of >6.5
- Cambridge Certificate of Advanced English (CAE) or Certificate of Proficiency in English (CPE), with a mark of C or higher
Writing good software is a highly creative process, which requires the ability to approach problems in entirely novel ways through computational thinking. Besides creativity, a professional software scientist also has fine problem-solving, analytical, programming, and communication skills. By combining software programming, model-checking techniques and human intellect, software scientists can make a real difference to help and improve the devices that govern such a large part of our lives.
The job perspective for our graduates is excellent. Industry desperately needs software science specialists at an academic level, and thus our graduates have no difficulty in find an interesting and challenging job. Several of our graduates decide to go for a PhD and stay at a university, but most of our students go for a career in industry. They then typically either find a job at a larger company as consultant or programmer, or they start up their own software company.
Examples of companies where our graduates end up include the big Dutch high-tech companies such as Océ, ASML, Vanderlande and Philips, ICT service providers such as Topicus and Info Support and companies started by Radboud graduates, like AIA and GX.
The Master’s programme in Computing Sciences is offered in close collaboration with the research Institute for Computing and Information Sciences (iCIS). Research at iCIS is organised in three different research sections:
- Model Based System Development
- Digital Security
- Intelligent Systems
The Software Science specialisation builds on the strong international reputation of iCIS in areas such model based and virtual product development, advanced programming, and domain specific languages.
For your research project, you may choose to do your internship at:
- A company
---- SME, such as as Océ, Vanderlande, Clarity or GX
---- multinational, such as the Philips, ASML, NXP, Logica or Reed Business Media
- A governmental institute, such as the (Dutch) Tax Authorities or the European Space Agency.
- Any department at Radboud University or another university with issues regarding software, like studying new techniques for loop bound analysis, the relation between classical logic and computational systems, or e-mail extension for iTasks.
- One of the iCIS departments, specialising on different aspects of Software Science.
- Abroad, under supervision of researchers from other universities that we collaborate with. For instance, exploring a new technique for automata learning at Uppsala University in Sweden, or verifying the correctness of Erlang refactoring transformations at the Eötvös Loránd University (ELTE) in Budapest, Hungary.
See the website http://www.ru.nl/masters/softwarescience
Software development is one of the most rapidly evolving industries in the world, presenting an ever-greater number of creative opportunities and exciting challenges. Software developers therefore need a special set of skills to keep pace with technology and innovation. Our course gives you the knowledge and confidence to do just that.
We focus on large-scale development of advanced software, teaching you how to make use of the latest frameworks, methodologies and technology to produce professional-quality applications. Crucially, you will also learn how to be an effective member of a development team. With close links to software giants such as Microsoft, Sony, and IBM, we work hard to ensure that our course is always up to date and that our graduates leave with the cutting-edge skills demanded by industry. Therefore, this MSc is appropriate not just for fresh Computer Science graduates, but also for those with existing commercial experience who wish to update their skills and knowledge.
The course begins each September and lasts 12 months. There are two trimesters of taught modules, followed by an individual dissertation project during the third trimester. There is an option to take an extra trimester – immediately before the dissertation, adding an extra three months of study but letting you gain insights into industry through a module based on commercial practice, typically working with commercial clients and software.
Studying Computer Science at Hull, you'll benefit from an excellent experience for students, with a supportive student community. We have an international reputation for our research activities, with a strong record of industrial and public grant funding. We are also affiliated with Microsoft’s DreamSpark programme, which allows you to access the latest Microsoft operating systems and development software for home use. Once registered with the department, you can download the software free of charge.
The MSc Computer Science (Software Engineering) programme is designed to support students with various levels of computing and programming practice experience. There is suitable content on professional skills and the importance of ethics for practising computer scientists. Material on software engineering, referencing and unfair means supports the transition into the postgraduate environment.
As a route into research, the programme supports the development of postgraduate technical skills, alongside critical research, analysis and planning activities.
In lectures you’ll benefit from a range of techniques, from interpreting complex ideas through interactive discussions, to live programming or other problem-solving demonstrations.
Teaching and learning
We place a strong emphasis on practical laboratory sessions. These will significantly develop your core computer science skills, and enhance your employability through exposure to commercial projects.
As teamwork plays a key role in commercial software development and has great value as an employable skill, group work is used in a number of modules.
Practical coursework is the main form of assessment, and you will design, build and test software solutions to a variety of problems. This is complemented by written coursework. The largest assessment is the dissertation.
* All modules are subject to availability.
The MSc Computer Science (Software Engineering) is designed to open up pathways to postgraduate research, as well as careers in a wide range of areas within your discipline. The industrial placement option will enable you to practise your skills and knowledge of computer science in situ, giving you a useful insight and advantage when it comes to starting your career.
We have a range of inspirational extra-curricular activities including the Three Thing Game, Imagine Cup Worldwide Software Development Challenge, Really Useful Seminars and Global Game Jam. They are designed to boost your CV and employability, and taking part costs very little.
Our graduates gain a wide range of roles including: applications developer; business systems analyst; computer analyst; computer programmer; computer operations manager; data management analyst; database assistant; developer support engineer; games programmer; games programmer (engine design); information manager; IT design; IT systems manager; IT technician; IT user support; mobile developer; operations director; software designer; software developer; software engineer; solutions developer; systems engineer technical sales; technical specialist; and web developer.
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.
This course aims to equip students for professional careers in this important field of software systems. It provides a practical understanding of the issues relating to the design, analysis and implementation of modern software systems.
With the IT sector expanding rapidly around the world, there has never been a better time to develop specialist software engineering skills. This course will give you an understanding of the latest software engineering technologies used to address today's challenges in software development.
You will become familiar with a broad range of current scholarship work in software engineering, learning how to research and review published work. Your studies will also give you a practical understanding of the issues relating to the design, analysis and implementation of modern software systems, and you will have opportunities to meet speakers from the industry, including potential employers. In short, this course prepares you for a professional career or research in this important field.
The Internship Course seeks to provide the same rigorous and challenging programme of professional practice as the MSc Software Engineering but has the added advantage of including a 6 months internship incorporated into the period of study. This makes it ideal for students seeking to add a practical dimension to their studies and understand the demands of workplace supervision and management. Internship opportunities exist throughout the computing industry within the UK.
This course is suitable for you if you have a background in IT and want to specialise in software engineering. It helps you build the skills needed to work with modern software systems in an industrial context, and to develop an appreciation of all features of commercial software engineering. You will use industry-standard technologies, and have the opportunity to specialise in topics ranging from software project management to implementation techniques. The internship will come at the end of the course following the successful completion of all taught modules.
During the Internship you will work for 6 months with an employer. The internship allows you to apply your theoretical knowledge to a practical work-based situation. It will allow you to improve existing skills and acquire new ones, explore various career opportunities, network and be part of a team. This will improve your understanding of the world of work and professional practice in the workplace. It will also enhance your career prospects, allowing you to focus on your potential career path.
This is an indicative listing of modules for the course:
course assessed work is a significant part of the total assessment. There is practical work, report writing, critical academic writing and the skills and knowledge gained in these contribute to a capacity to deliver a high quality dissertation.
There are a number of end of module exams. Course tutors provide appropriate support throughout the module to ensure candidates are well prepared.
The School of Computing and Engineering has several links with industry, creating opportunities for work placements and internships for our best students. We have set up a number of successful knowledge transfer partnerships, where we provide our expertise to real-world projects.
This course aims to help you towards a rewarding position in the software industry, such as software architect, solution architect, project manager or senior software developer.
You can go on to further study at the level of MPhil / PhD. We actively encourage students with potential for research to make their interest known early on in their course.
Click the following link for information on how to apply to this course.
Information about scholarships and bursaries can be found here.
Whether it's the computers in our offices, the smartphones in our pockets, the electrics in our cars or the technology that enables us to monitor patients in critical care, software is at the heart of our society. This MSc programme focuses on advanced theoretical and practical techniques in program design, and the management of software project risk.
This programme will:
We have a new MSc Software Engineering and Security pathway to the MSc Software Engineering degree. If you are interested in this pathway, you need to apply for the MSc Software Engineering programme and take the pre-requisite modules and then you would be able to graduate with the MSc Software Engineering and Security.
Security, authentication and identity management have grown substantially in importance in recent years, and there is significant demand in both the commercial and national/local government sectors for software engineers with a good grasp of these areas hence introducing a pathway in Security.
NB: Students will need to take and pass the following modules in order to be eligible for the pathway title MSc in Software Engineering with Security.
ECS726P - Security and Authentication (semester 2)
ECS760 - Distributed Systems and Security semester 2)
ECS715P - Program Specifications (semester 1)
ECS737P - Software Analysis and Verification (semester 2)
ECS738 - Bayesian Decision and Risk Analysis (semester 2)
Your tuition will be delivered by field leading academics engaged in world class research projects in collaboration with industry, external institutions and research councils.
MSc Software Engineering is currently available for one year full-time study, two years part-time study.
Undertaking a masters programme is a serious commitment, with weekly contact hours being in addition to numerous hours of independent learning and research needed to progress at the required level. When coursework or examination deadlines are approaching independent learning hours may need to increase significantly. Please contact the course convenor for precise information on the number of contact hours per week for this programme.
Part-time study options often mean that the number of modules taken is reduced per semester, with the full modules required to complete the programme spread over two academic years. Teaching is generally done during the day and part-time students should contact the course convenor to get an idea of when these teaching hours are likely to take place. Timetables are likely to be finalised in September but you may be able to gain an expectation of what will be required.
Important note regarding Part Time Study
We regret that, due to complex timetabling constraints, we are not able to guarantee that lectures and labs for part time students will be limited to two days per week, neither do we currently support any evening classes. If you have specific enquiries about the timetabling of part time courses, please contact the MSc Administrator
Semester 1 (Maximum of 4 modules to be taken in Semester 1)
Select at least one from:
Big Data Processing
Introduction to IOT
Semi-Structured Data and Advanced Data Modelling
Introduction to Object-Oriented Programming
Semester 2 (Maximum of 4 modules to be taken in Semester 2)
Select at least two from:
Real Time & Critical Systems
Interactive Systems Design
Software Analysis and Verification
Bayesian Decision and Risk Analysis
Further options from:
Security and Authentication
The Semantic Web
Advanced Object Oriented Programming