Back to list of courses

MSc in Computing

Overview & Contacts

For general information:

Eugene Campbell
Postgraduate Admissions Administrator

Tel: +44 (0)1904 325404
Fax: +44 (0)1904 325599

For informal discussion:

Professor Andy Wellings 
Admissions Tutor


Apply online now button

Course Overview

  • Full Time - This course is only available full time.
  • 7 Assessed Modules - Plus a six-month individual project carried out in the department.
Computers are now ubiquitous with many devices and systems being controlled by software. Building robust and reliable software systems requires a deeper knowledge of software design principles and programming methodologies.
The MSc Computing is a full time, one year taught course with a focus on programming and programming related aspects. This is to enable our graduates to go on to a professional career in the computing industry in roles such as team leaders or skilled developers.
The course is designed for students who already possess a degree in IT or related discipline or have equivalent industrial experience, and want to deepen their knowledge in software systems. It covers a range of topics including advanced programming, software engineering and testing, privacy and security, advanced user-interface design and high performance computing. 

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

Course aims

  • Advanced Programming: You will gain a thorough grounding of advanced programming concepts using Java, concurrent and real-time programming principles.
  • User-Interfaces: You will be introduced to introductory and advanced methods in how users interact with systems (Human-Computer Interaction (HCI)).
  • Advanced Software Engineering: You will learn the principles of software engineering using UML, formal methods and software testing.

I think what I gained more than anything else from my degree is an ability to look at the larger picture when it comes to software system development.

Aman Agrawal
MSc Computing 2010, now IT Developer, Kinetic Worldwide

Learning outcomes

When you graduate from this course, you will have an in-depth understanding of software systems and programming principles and be able to lead a team of developers in the IT industry. You will have a thorough understanding of:

  • Advanced programming knowledge including Java and principles for high performance computing.
  • Designing and specifying software components and systems using UML.
  • In-depth knowledge of user interface design principles.
  • Software testing, privacy and security aspect of software engineering and software management.


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.

Recognition by professional bodies

When you are awarded the MSc in Computing, you will automatically meet some of the conditions for professional engineering status in the UK, as follows:

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

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


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 means.


Course components  -  2017/2018

All modules are mandatory.

Click on Module TitleModule TitleTermShort Description
High Performance Computing Spring

A comprehensive view of high-performance computing platforms, including processing, memory and storage. You'll study the system software supported needed for efficient platform management, and special attention is given to parallel computers and the ways they can be programmed to provide high computing performance to end-user applications. 

IUCD Autumn This module will provide students the foundation of knowledge to create usable and accessible interactive systems that promote positive experiences for their users.
Java Programming Concepts
Autumn A solid grounding in the essential features of object-oriented programming as well as in depth understanding of data structures and algorithms.
Software Testing Spring The module covers a broad range of topics across the whole area of software testing, with an emphasis on developing practical testing skills and an appreciation of how different systems at different times need very different testing approaches. 

Software Engineering

Autumn Understand the process of engineering and design of large software systems with an emphasis on models, and methods.
Topics in Privacy & Security
Spring This module covers a selection of crucial topics in modern day security and privacy. Modern day systems must satisfy more varied security and privacy goals than ever before. The module investigates such complexity.
Group Project: Computing & IT
Spring The module aims to provide students with object-oriented analysis and design techniques and software engineering principals, which are directly applicable to an IT project. Students will work in teams to engage in a practical IT project.
Final Project - Computing
Vacation A substantial, independent research project building on the taught course. The deliverable is a dissertation.

Personal Supervisor

You will be assigned a personal supervisor, a member of our academic staff, who will meet with you at the start and finish of each term, and periodically review your progress with you. Your supervisor will also help you to choose appropriate modules, and help you decide which project to undertake. Once your project starts, you will be assigned a project supervisor, who will be an expert in the area of your research. You will become part of their research group, and will benefit from the knowledge and resources of the group as a whole.


All the modules you take will be assessed, and we deliberately employ a variety of forms of assessment. These include practical exercises, reports and closed examinations. Your project assessment will be made up of a dissertation, a talk about your project, and a concise paper that you will be encouraged to publish.

The assessments take place at various times during the year. Closed examinations take place in:

  • the first week of Spring term (for those courses taught during the Autumn term), and
  • the first week of Summer term (for those courses taught during Spring term).

Practical exercises, reports and other forms of open assessment are typically issued towards the end of a module. Work for these assessments must be submitted by fixed deadlines well after the conclusion of the taught sessions.

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.



The individual project is undertaken by students in Terms 3 and 4 (Summer term and Vacation term). The subject matter of projects varies widely; most projects are suggested by members of staff, some by external organisations, and some by students themselves, allowing students to undertake work relating to an area of personal interest that they wish to develop further.

All project proposals are rigorously vetted and must meet a number of requirements before these are made available to the students. The department uses an automated project allocation system for assigning projects to students that takes into account supervisor and student preferences.

Examples of previous project titles include:

  • Autosuggestions using Ajax to improve tag based tactile image retrieval
  • An Implementation of Mobile Application in Location-aware Service Domain
  • Design and Implementation of a Tool Support for Time Bands Modelling
  • Image Anomaly Detection and Object Recognition
  • Image retrieval using region of interest detection
  • Modelling and Simulation of Business Processes
  • Reinforcement Learning for the StarCraft Real-Time Strategy Game
  • Software for Autistic Children with Communication Difficulties
  • The Design, Implementation, and Safety Analysis of a Mobile ePrescription System
  • Using Procedural Content Generation to Provide a Set of Game Challenges During a Single Playthrough

How To Apply

Suitability and Entry Requirements

The MSc in Computing is intended for students who already have a Computing or related degree.

Typically, you will have achieved at least an upper second class honours degree (or international equivalent), and you will have already studied programming, computer organisation and architecture.

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. We are willing to consider applications from students with lower qualifications, particularly when the student has high marks in relevant modules and/or appropriate industrial experience.

Selectors for the course are looking for two essential criteria to be satisfied:

  • Good knowledge of programming in any programming language
  • Basic knowledge of computer organisation and architecture

If you don't meet these two essential criteria, have you thought about our 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.

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 a referee who 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, early application is advised.

Apply online now button


For 2017 entry, we expect to again have a Taught Masters Scholarship that applicants holding an offer for one of our taught MSc courses can apply for. Find the details of this scheme and others on our Scholarship page.

Did you know that we 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 Computing at York

The MSc in Computing course is for those with some background in computing, and so we make some assumptions about your existing knowledge and understanding.

You'll start the course with a focus on writing and developing Java programs. We assume that you are familiar with programming concepts and terminology, so we advise you to review basic programming concepts, such as:

  • variables and their types
  • control structures (e.g. if-statements, loops)
  • subprograms (e.g. procedures, functions)
  • compilation and debugging.

If you have never used Java, you will benefit greatly from doing some reading and trying out Java programming before you arrive. We will teach you from first principles, but the pace will be fast and you will find it easier to keep up if you've practiced with the basics beforehand. Tutorials and practical exercises are the best way for you to prepare, and the Deitel and Deitel book below is a good source of these.

Some books that you might find useful are:

  • Eckel, B. Thinking in Java  3rd (e-version) or 4th Edition, Prentice-Hall (E-version available free here)
  • Deitel, P.J. and Deitel, H.M. Java How to Program (10th or 11th edition), Pearson Education
  • Bloch, J. (2008) Effective Java (2nd edition), Prentice Hall
  • Charatan, Quentin and Kans, Aaron (2009) Java in Two Semesters (3rd edition), McGraw-Hill

In addition to Java, you will need to be familiar with the fundamentals of operating systems and computer system architectures (as covered in a typical undergraduate computing or software engineering degree).

A general appreciation of relevant concepts is covered in standard texts such as:

  • Stallings, W. Computer organization and architecture. (any recent edition), Pearson Prentice-Hall (Resources for this book can be found online).
  • Tanenbaum, A. S. Structured computer organization. (any recent edition),  Pearson Prentice-Hall

You will also be introduced to the concept of user-centred design. No previous knowledge is assumed, but you may find it useful to look at introductory material on human-computer interaction

We recommend:

  • Rogers, Y., Sharp, H., Preece, J. (2011) Interaction Design: Beyond Human Computer Interaction, 3rd Edition. Wiley.

Residency requirements  -  2017/18

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

  • 25 September 2017 - 1 December 2017 (Autumn term)
  • 8 January 2018 - 16 March 2018 (Spring term)
  • 16 April 2018 - 21 September 2018 (Summer term and vacation)

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.

The taught modules will take place in the Autumn and Spring terms. During your break between these two terms, you should expect to be working on open assessments and preparing for your exams in January. 

Work on your individual project will start at the beginning of April, and you will receive regular one-to-one supervisions throughout the Summer Term. You will continue to work on your individual project over the Summer term and the vacation, when there will be continuing supervision and research-group meetings where your project can be discussed. You will finish the course when you hand in your dissertation and paper for your project in September.



The staff are very friendly and professional, and many have in depth experience of working in industry.

Small pic of Yue Zhang

Yue Zhang, MSc in Computing now Software Engineer for Gohigh ltd.

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.

So where do our students go once they leave York?

Pie chart showing the industry destinations of Computer Science postgraduates

Internship scheme

To increase your employment prospects, 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.



Back to Top