Masters in Computer Science | Top Universities

Masters in Computer Science degrees are typically offered as a Master of Science (MSc) and are one or two years long, depending on the country of study. You will study a range of modules, some optional and some compulsory – you can find out more about the most common optional modules in the next tab. Compulsory modules include programming, data analytics, software development, applied communications, network architecture and database design.

Course assessment is likely to be a mixture of written essay papers and practical work. You’ll continue to develop your knowledge, leading to a research project or dissertation, perhaps in a specialized subject of your choice. If you produce your own project, you will plan, research and implement a piece of work relating to your chosen specialization.

Entry requirements

Although some universities specifically request students to have a related undergraduate degree (mathematics, physics, computer science, computing, ICT, electronics or statistics), others are willing to accept graduates of any discipline. For example, the UK’s University of Birmingham offers an MSc in Computer Science as a conversion master’s for students who have not previously studied computing, as well as an MSc in Advanced Computer Science for those who have studied a related subject. Previous work experience in the field is likely to be beneficial, but is not essential. Depending on the university, you may also need to provide letters of recommendation and/or attend an interview.

Compare the world’s top universities for computer science 

Computer science specializations

Many Masters in Computer Science courses allow you to choose optional modules, the most common of which are listed below. Some of these may also be available as a separate, dedicated master’s course which you may wish to study if you’re keen on a career in that particular area.

Human-computer interaction 

The study of human-computer interaction (HCI) considers the challenges in making computers and computations useful, usable, and universally accessible, in order to prevent unexpected problems caused by poorly designed human-machine interfaces. Coupled with studies rooted in behavioral sciences, you’ll cover the study, planning and design of this kind of interaction, with the understanding that a computer has an almost unlimited amount of uses which can only take place in dialogue between the user and the computer. You’ll approach the subject on the machine side, with computing techniques such as computer graphics, operating systems, programming languages and development environments, and on the human side, exploring communication, graphics, linguistics, social sciences such as cognitive psychology, and user satisfaction.

Artificial intelligence 

The study of artificial intelligence (AI) is closely related to the field of artificial life (AL), and both are involved in synthesizing goal-orientated processes such as problem-solving, decision-making, environmental adaptation, learning and communication using computers and algorithms. AI is a cross-disciplinary topic drawing on applied mathematics, symbolic logic, semiotics, electrical engineering, philosophy (of mind), neurophysiology and social intelligence. AI involves the automation of tasks (such as evaluative and predictive tasks) in computer applications involving complex real-world data, as successful use of AI in this manner can act as a viable substitute for humans doing the same tasks. At master’s level, study of AI can expand to include related modules on how games can be used for research on AI. You may even get to play games as part of your degree, and this specialization would be useful if you are aspiring to become a computer games producer.

Information, network and cyber security 

Information security is about protecting information (and information systems) against unlawful access and altering. Preventing security breaches has a high precedence for organizations which store and handle confidential data. The specialization therefore familiarizes students with what threats and attacks which may be enacted on computer networks, and what mechanisms and techniques can be used to address them. You will also evaluate case studies.

Computer graphics 

Studying computer graphics involves using computers to create still or moving two or three dimensional images using specialized graphics hardware and software. You’ll study how to manipulate visual and geometric information using computational techniques, focusing on mathematical and computational foundations of image generation and processing rather than purely aesthetic issues. You’ll need knowledge of physics, light and materials, as well as knowledge of the mathematics of homogenous matrices, and of data storage, representation and manipulations. Computer graphics makes the interaction and understanding of computers and interpretation of data easier for both computing professionals and consumers. With companies exploring increased use of trends such as ‘gamification’, the demand for computer scientists with advanced knowledge of computer graphics has never been greater.

Find the world's top universities for computer science

Computer science careers

A master’s in computer science allows you to develop many desirable skills which are useful in a wide range of industries. You’ll also have good salary prospects, as master’s in computer science graduates earn an average of US$60,000 a year. Having studied at master’s level, you may be able to gain entry to consultancy-level computer science careers. Read on for an overview of some of the roles open to you.

Games developer 

Games developers produce games for personal computers, games consoles, social/online games, arcade games, tablets, mobile phones and other hand held devices. This role could be focused on the creative role of designing a game and dealing with the art, animation and storyboarding, or it could focus on programming the game using knowledge of programming languages such as C++. To increase your chances of entry into this role, it’s extremely helpful to have studied related aspects during your degree. It is essential that you create a portfolio (for artistic roles) or working demo (for programming roles) with examples of work to show employers.

Cyber security consultant 

Maintaining cyber security in the modern world has become increasingly important, so in this role you will focus on understanding the risks to the security of information or data. You’ll analyze where security breaches may occur or have occurred, and restore or reinforce systems against such breaches, to ensure that confidential data is protected. This role could include ‘ethical hacking’, meaning deliberately attempting to hack into your employer’s network to expose any weaknesses, or you could work as a computer forensics analyst or investigatorto combat the growing phenomenon of cyber-crime.

Multimedia programmer 

A multimedia programmer is responsible for designing and creating multimedia computer products, making sure they are functional and maintaining fidelity to a designer’s specification. You’ll use creative as well as technical skills to develop multimedia features including text, sound, graphics, digital photography, 2D/3D modelling, animation and video. You’ll need to work with the designer to understand the design concept, discuss how it can be technically implemented, identify the operational rules necessary, write efficient computer code or script to make the features work, run tests of the product to test for bugs and rewrite or add new code if necessary.

You’ll also be available for technical support after the product is completed, and will need to keep abreast of industry news and developments in order to suggest and implement improvements. You may work across platforms (such as the internet, interactive television, information kiosks, DVDS, computer games consoles and mobile phones) or remain specialized in one platform. Your role may overlap with similar IT roles such as web developer, games developer, systems developer or software engineer, or you may find yourself working in tandem with these professionals to achieve mutual goals.

Software engineer 

Software engineers apply the principles of software engineering to the design, development, maintenance, testing and evaluation of the software and systems that make computers or anything comprising software work. Similarly, the role of a network engineer focuses on implementing, maintaining and developing communication networks within organizations to ensure the communication infrastructures work effectively.

Discover more computer science careers