Back to list of courses

MSc in Software Engineering

Overview & Contacts

For general information:

Johny Stokoe
Postgraduate Admissions Administrator

Tel: +44 (0)1904 325404
Fax: +44 (0)1904 325599
E-mail: postgraduate@cs.york.ac.uk

For informal discussion:

Dr Fiona Polack
Admissions Tutor

E-mail: postgraduate@cs.york.ac.uk

Overview

Full Time - This course is only available full time.

9 Assessed Modules plus an individual project carried out in the department. All modules are compulsory except Formal Specification, Topics in Privacy & Security, and Mobile Device Application Development. Students will be able to choose one of these modules.

Software Engineering has become a crucial discipline in the functioning of the modern world. Information systems, communications, transport, manufacturing and services all require well-engineered and reliable software.

You can also choose to apply for one of our internships, which will begin when you have finished your course. Find out more about the scheme.

Course Structure

The MSc in Software Engineering is a full-time one year course consisting of nine assessed modules and a six month individual project carried out in the Department.

Learning Outcomes

  • A thorough grounding and practical experience in the use of state-of-the-art techniques for developing software-based systems.
  • An understanding of the principles behind these techniques, so as to make sound judgements during systems and software design.

Both my supervisors were great sources of inspiration and support. I could always reach out to my personal supervisor for help. My project supervisor was one of the best - working with him, I learnt a lot about the subject, and I developed other skills like research and document review.

Thumbnail of Arijit Mukherjee, MSc in Software Engineering

Arijit Mukherjee
MSc Software Engineering 2010
Now Project Manager (Technology) for Barclays Corporate

Transferable Skills

Information-retrieval skills are an integrated part of many modules; students are expected to independently acquire information from on-line and traditional sources. These skills are required within nearly all modules, are an essential part of project work. During the team project, team working skills are developed. Students are also expected to give a presentation of the results of their project work, hence developing presentational skills.

Numeracy is required and developed in most modules. Time management is an essential skill for any student in the course. The formal timetable has a substantial load of lectures and labs. Students must fit their private study in around these fixed points. In addition, Open Assessments are set with rigid deadlines which gives students experience of balancing their time between the different commitments.

All students in the University are eligible to take part in the York Award in which they can gain certified transferable skills. This includes the Languages for All programme which allows students to improve their language skills.

Attendance

Full-time taught postgraduate courses run for 12 months from the start of the academic year in October.  Students on these courses are expected to be in attendance at York for the full 12 months, except for when the Department is closed. Please contact the Postgraduate Admissions Administrator for more details.

Accreditation

Logo from BCS (Chartered Institute of IT) showing our accredited status

This course isrecognised by the BCS, the Chartered Institute for IT, in partial fulfilment of the educational requirement for Chartered Engineer (CEng) registration.

 

IET Accredited programmes logo

This course is also recognised by Institution of Engineering and Technology (IET) for the purposes of partial fulfilment of the educational requirement for CEng registration.

Find out more about what this professional accreditation means.

Modules

Course Components  -  2013/14

All modules are compulsory except where stated. Students choose one optional module.

   
Click on Module TitleModule TitleTermShort Description
Group Project: Software Management
Autumn & Spring The group project aims to provide students with project management skills and techniques, which are directly applicable to a software project. Students will work in teams to engage in a practical software project aiming to produce a high quality software artefact.
Service-Oriented Architecture Autumn The aim of this module is to introduce the concepts and design principles of service-oriented systems, the non technical aspects, impact on culture as wekk as the various interoperability standards, technology infrastructure and security considerations.
Model-Driven Engineering Autumn This aims to introduce the theory, principal and practices of model-driven engineering, focusing on technical topics including: modelling, metamodelling, model management, model transcformation, model-driven traceability, workflows, model validation and model evolution. Non-technical issues will also be considered.
Concurrent & Real-Time Programming Autumn Concurrent & Real-Time Programming studies the features of Real-Time Java and applies them to concurrent embedded-systems programming.
User Centred Design Autumn User Centred Design introduce students the field of Human-Computer Interaction (HCI). This field covers all aspects of people's interactions with digital systems.
Formal Specification (optional) Spring Formal Specification addresses the use of mathematical methods in systems development, particularly in high-integrity systems. (Option)
Software Measurement & Testing Spring Software Measurement & Testing teaches methods of software verification, including advanced testing and static-analysis techniques.
Systems Architectures Spring Systems Architectures provides an introduction to systems 'in-the-large', i.e., system components and their interconnections.

 

Topics in Privacy & Security (optional) Spring Privacy and Security addresses the variety of modern day security goals, the range of attacks that can be launched, and the security defense mechanism that can be used to counter them. (Option)
Mobile Device Application Development (optional) Spring This module aims to develop an understanding of the challenges involved in designing applications and the skills involved in implementinng them.
Final Project - Software Engineering Summer & Vacation A substantial, independent research project building on the taught course. The deliverable is a dissertation.

 

 

Personal Tutor

You will have a personal tutor and will be part of a tutorial group, usually comprising of five or fewer students. Your personal tutor provides academic and pastoral advice throughout your course. When you undertake your individual project, you will be allocated a supervisor within your area of interest, so your supervisor may then change.

Assessment

All taught modules on the MSc in Software Engineering are examined by open assessments. The assessment paper is published at the end of the week of teaching, and you will be required to submit your answers typically four weeks later. This type of assessment allows you to engage with the research literature and gives us the chance to assess your practical skills.

Once you have successfully completed the taught modules, you will undertake an extensive individual project. Here you will work on an indentified cyber security topic, and document the results in a report. Additionally, you will be required to precis the project report in a conference style paper.

Assessments will take place at various times during the year. Practical exercises, reports and other forms of open assessment will be due either during the course module or just after its completion.

Timescales, Modules and Project Descriptions may be subject to change.

Internship scheme

You can also choose to apply for one of our internships, which begin after you have completed your individual project. Find out more about the scheme.

Project

Team Project

You are taught a broad range of project management skills, which you will directly apply to a medium-sized software project that is conducted in small student teams.

Individual Project

The course concludes with your individual project. You may choose a topic among the many offered by the academic staff, or you may propose your own topic. Some recent topics were:

  • Air Traffic Control application using PostgreSQL
  • Automated Development of Graphical Editors built atop Graphiti
  • Multi-Agent Reinforcement Learning: Conquest of Mars
  • Natural Disaster Planning - A System of Systems Analysis
  • Reinforcement Learning for Mobile Cognitive Radio Agents
  • Simulation-based Hazard Analysis for Autonomous Robots
  • Study of Business Processes in a Complex Enterprise System
  • Using heuristics for Monte Carlo Tree Search

How to Apply

Suitability and Entry Requirements

Software Engineering has become a crucial discipline in the functioning of the modern world. Information systems, communications, transport, manufacturing and services all require well-engineered and reliable software. This course focuses especially on software systems with a high requirement for dependability.

The MSc in Software Engineering course is intended for students who possess a strong Computer Science degree.

Typically, you will have achieved at least an upper second class honours degree (or international equivalent) in Computer Science or a related discipline with an appropriate mathematical basis.

We are willing to consider applications from those who do not fit this profile.  We will, for example, consider applicants who do not have an appropriate qualification but have appropriate industrial experience.

Your knowledge of computer science will include at least the following:

  • Good knowledge of Java, including practical programming.  Knowledge of C++ or C# would also be suitable.
  • Basic knowledge of Operating Systems, including concurrent programming, busy waiting, semaphores and monitors.
  • Basic knowledge of software engineering and its processes, including software processes, system models and object-oriented design and software testing.
  • Basic knowledge of logic, set theory, relations, and functions.

If you don't meet these requirements, you may be interested in our MSc in Computing or MSc in Information Technology.

How to Apply

For more information about completing your application, please take a look at the University’s webpages which tell you how to apply, and our Department's advice on completing applications.

In particular, please take note of the supporting documents we need to see in order to be able to make a decision about your application.  You are also required to nominate two referees, of which at least one should be from your current employer or place of study.

You can apply through our online application system (SELECT).

While there is no official closing date for applications, it is important to apply as early as possible.

Studentships

We are offering a number of taught MSc scholarships worth £5,000 each for 2013 entry. You simply have to be holding an offer to apply. Find out more about the scholarship and how to apply.

The University of York awards a number of scholarships for overseas students each year, and competition for these scholarships is very intense. More information about funding opportunities is available here.

Did you know that we also offer our MSc students a continuation scholarship? Should you decide to stay and study for a PhD after you graduate, you could be eligible to have your fees paid. Check out the details of the award.

International Students

This course, like all others in the University, welcomes students of all backgrounds and circumstances. 

If English is not your first language, or your first degree was not taught in English, then you will need to have attained a suitable language qualification no more than two years before the start of the course. 

The University's Postgraduate Study webpages will tell you more about the English language requirements for graduate students.

Information for students

Being prepared for your MSc in Software Engineering at York

The MSc in Software Engineering is an advanced course that assumes entrants have a strong background in object-oriented (OO) programming and design.  

You will be a competent programmer, with a good level of experience in Java, or a similar OO language.  You need to prepare yourself to write object-oriented software in Java before you arrive.  Here is some material that you might find useful.  Here are some appropriate texts to bring you up to speed:

  • B. Eckel, Thinking in Java.  3rd (e-version) or 4th Edition.  Prentice-Hall.  http://www.mindview.net/Books/TIJ/
  • Charatan, Quentin and Kans, Aaron (2009) Java in Two Semesters (3rd edition) McGraw-Hill

For software engineering, you should understand what is meant by a software engineering lifecycle, a method and a technique.  You should understand what is meant by requirements capture/analysis, specification/conceptual modelling, design, implementation and maintenance. You should know what is meant by agile development and by software verification and validation.  We recommend that you consult a reputable software engineering text book, notably,

For further information about preparing for your MSc, please see our module advice page.

Residency requirements  -  2013/14

Due to the intensive nature of the course, students are required to be in York during the following periods:

  • 30 September 2013 - 6 December 2013
  • 6 January 2014 - 28 March 2014
  • 14 April 2014 - 19 September 2014

However, it should be noted that the MSc is full time and it is assumed that students are working whether or not they are in full attendance.

Careers

Careers

"...the kind of skills you can't learn from a textbook..."

Still of James Mistry from his video about MSc in Software Engineering

We asked a recent graduate, James Mistry, about his experience at York, and how his time here prepared him for the workplace. He currently works for BT, and was happy for us to film him so that you can find out why he chose to study here.

Watch the video now.

 

 

Here at York, we're really proud of the fact that more than 97% of our postgraduate students go on to employment or further study within six months of graduating from York. We think the reason for this is that our courses prepare our students for life in the workplace through our collaboration with industry to ensure that what we are teaching is useful for employers.

Our postgraduate taught courses are specifically designed to meet the needs of industry, and the thorough grounding we provide, alongside the skills you learn from undertaking a Masters degree, will stand you in good stead in the workplace.

Here's some idea of the industry sectors our postgraduate students work in:

Pie chart showing the industry destinations of Computer Science postgraduates

Internship scheme

Improve your employment prospects by applying for one of our internships, which begin after you have completed your individual project. Find out more about the scheme.

Back to Top