Master of Science in
Computer Science

The programme

The 2-year MSc in Computer Science is a programme for you who have an IT-related undergraduate degree and wish to develop your skills and knowledge in computer science on a high, academic level based on international research.

The programme focuses on business needs, and you will work on projects concerning software development and maintenance of software. You will also learn about the organizational and managerial part of a development process.

When you study Computer Science, you will gain in-depth knowledge of modern programming languages, databases, distributed systems, IT security, algorithms and data structures, software development processes, requirements, organisation and management. The programme gives you opportunity to work with all phases of the development process – analysis, design, development, test and launch.

The programme is taught in English, so all teaching, exams, assignments, etc. will be in English. Cases and examples from both Danish and international organisations will be used.

Non-curricular events at the university may be held in Danish.

Studying Computer Science at ITU

Who studies Computer Science?

As a student of Computer Science, you want to get access to cutting edge knowledge within computer science. You are not afraid to be challenged while you obtain strong professional competencies and technical knowhow, and you are curious to connected areas to the software development process – e.g. work in teams, plan, organise, create and implement complex software concepts and how to cooperate with people with different professional backgrounds. 

You hold a university bachelor’s degree or a professional bachelor’s degree in Computer Science or in a related area, e.g. software development or computer engineering and want to develop your skills more in-depth. There is a great deal of group work on this programme, so you should be motivated to collaborate with other students. 

Programme structure

This programme prepares you to work in the core of the computer science or software development industry, to contribute to development of new software technologies and tools.

The programme assumes that you, when enrolling, have a rich tapestry of knowledge of computing from your previous degree.

Combined with previous experience in programming and software development, you have the opportunity to design your own study programme to best fit you and your qualifications.

See the curriculum for the MSc programme in Computer Science.

Course of study for MSc in Computer Science 
1st semester Algorithm Design
7.5 ECTS
Practical Concurrent and Parallel Programming
7.5 ECTS
Advanced Programming
7.5 ECTS
Security 1
7.5 ECTS
2nd semester
7.5 ECTS
7.5 ECTS 
7.5 ECTS
Specialisation Course 1 
7.5 ECTS
3rd semester
Cross Disciplinary Team Work
7.5 ECTS
Research Project
7.5 ECTS
Specialisation Course 2  
15 ECTS credits
4th semester
Master Thesis


Mandatory courses

The mandatory study activities (30 ECTS) aim at giving you highly relevant skills in problem solving and designing software using modern methods and technological platforms. The mandatory study activities consist of the following courses:

  • Algorithm Design (7.5 ECTS)
  • Practical Concurrent and Parallel Programming (7.5 ECTS)
  • Advanced Programming (7.5 ECTS)
  • Security 1 (7.5 ECTS)
  • Research Project (7.5 ECTS)
  • Cross Disciplinary Team Work (7.5 ECTS)


Specialisations and electives

The programme offers several specialisations, and you must choose one during your studies. A specialisation is a well organised collection of two courses (22.5 ECTS) that allows you to reach advanced level in a specific area, and prepare you to write your Master’s Thesis.

You also have an excellent opportunity to shape your own profile through electives. You can choose between courses offered at the IT University at master’s level or follow electives offered at other universities in Denmark or abroad.

See all courses offered in the course list.




The programme offers several specialisations, and you must choose one during your studies. Specialisations are well organised collections of two courses (22.5 ECTS) that allow you to reach advanced level in a specific area, and prepare you to write your Master’s Thesis.

Specialisations offered on the Computer Science Programme:

The specialisation in Algorithms teaches you to formulate practical problems with algorithmic terms and find new computational solutions. Algorithmic skills are typically desired by large multinational IT brands, and by small innovative start-ups developing new technologies. 


  1. Linear Algebra and Probability (7.5 ECTS): The course will focus on linear algebra and probability/statistics. 
  2. Advanced Algorithms (15 ECTS): The course teaches advanced algorithm design methods, with special emphasis on randomized and algebraic approaches, and parallel algorithms. These approaches are used e.g. in many state-of-the-art algorithms and data structures for handling large data sets, in machine learning, in addressing communication bottlenecks, and in algorithms for computationally hard problems.

The specialisation in Data Systems gives you a thorough understanding of design, analysis, implementation and evaluation of computer systems.


  1. Computer Systems Performance (7.5 ECTS): This course covers advanced topics in modern hardware and operating systems to give you a thorough understanding of the potential root causes of performance problems, as well as instrumentation techniques and benchmarking to give you the tools to evaluate system performance in practice.
  2. Advanced Data Systems (15 ECTS): This course gives you a thorough understanding of the principles, techniques and algorithms involved in building, maintaining and improving a data system. The course covers in depth issues related to storage management, query processing, and transaction management. You build an open-source data system in the context of this course.

The specialisation in Security teaches you to analyse the security of an IT-system and it gives you a thorough understanding of the construction of ‘secure’ software.


  1. Security 2 (7.5 ECTS): This course brings you up to the cutting edge in applied information security, i.e., the technologies currently defining information security in industry. The course comprises both hands-on and foundational learning activities.
  2. Advanced Security (15 ECTS): This course studies advanced topics in computer security, principally methods for construction of secure software and systems, generally in the intersection between research topics and applications. The course comprises both practical and foundational work.

The specialization in Data Science gives you both a practical and theoretical understanding of the most recent research advances within data science, and deepen your mathematical knowledge for computational modeling. You will learn to use advanced methods for big data analysis.


  1. Advanced Applied Statistics & Multivariate Calculus (7.5 ECTS): In this course, you will deepen your math knowledge for computational modeling in Data Science.
  2. Advanced Data Science (15 ECTS): This course will cover advanced topics including research in Network Analysis and Natural Language Processing (e.g., graph inference, structured prediction problems, advanced deep learning).

Prerequisites: If you want to take this specialisation, you must have a Bachelor in Data Science from The IT University of Copenhagen or a similar programme.


The specialisation in Machine Learning gives you both a practical and theoretical understanding of the current field of machine learning as well as a survey of some main areas of application. You will learn to use methods from artificial intelligence and machine learning while working with big data.


  1. Linear Algebra and Probability (7.5 ECTS): The course will focus on linear algebra and probability/statistics.
  2. Advanced Machine Learning (15 ECTS): In this course, you will learn to derive, analyse and compare the most central machine learning algorithms and, in doing so, their appropriate application to real datasets. You will both carry out the implementation of algorithms and integrate standard packages into their model development. You will apply the learned techniques across an array of applications; possible applications include robotics, image analysis, finance, natural language processing, bioinformations, and business.

The specialisation in Robotics gives you an understanding of the construction of software for robots and you will learn to construct small physical and mechanical artefacts.


  1. How to make almost anything (7.5 ECTS): The course is a hands-on introduction to the tools that are necessary to design and develop physical artefacts. The course gives an overview of the most important manufacturing methods like 3D printing, NC milling, laser cutting or moulding. In addition, you will learn how to design simple electric circuits to handle sensors and actuators and how to design printed circuit boards. These techniques will allow you to design physical prototypes on your own at the end of the course.
  2. Advanced Robotics (15 ECTS): This course teaches the predominant paradigms in artificial intelligence in the context of robotics: deliberative, behaviour-based, and embodied. The course will introduce a number of advanced topics, e.g. robot learning, evolutionary robotics, swarm robotics, multi-robot coordination, modular robots, simultaneous localisation and mapping. These topics are useful in the context of service robotics, self-driving cars, drones, and other developing robot technologies.

The specialisation in Software Analysis teaches you to use functional programming techniques.


  1. Modelling Systems and Languages (7.5 ECTS): This course introduces modeling languages and models as first class artifacts that are designed, manipulated, transformed and translated to code in an automatic fashion.
  2. Advanced Software Analysis (15 ECTS): This course concerns advanced software verification techniques.

The specialisation in Software Engineering enables you to work as a software engineer and, after gaining industrial experience, provide the base to take over roles as project manager or technical lead. The specialisation will not only introduce you to current software engineering methods and practices, but also enable you to relate to future technical as well as to methodological developments.


  1. Software Architecture (7.5 ECTS): The design, development, and implementation of software system requires the evaluation of several, often conflicting, aspects of the system. The aim of this course is to provide you with knowledge on how to develop software systems in a structured and systematic way that addresses the required functionality and supports the necessary system qualities. This requires a technical toolbox with concepts, methods, and principles to support the software design, implementation, and evaluation as much as a wider understanding of the context and domain of the system.
  2. Advanced Software Engineering (15 ECTS): The purpose of this course is to give you a thorough understanding of innovative processes, methods, and tools for software engineering as well as an introduction to a number of theoretical concepts that allow you to reflect on how methods, processes, and tools support software engineering as a cooperative activity. This way the course enables you to embrace future methodological developments. The course combines theoretical reflection of software engineering and hands-on development of tooling and development of infrastructures, as they e.g. are necessary for continuous software engineering.

Thesis example

Daniel Varab.


Human language is largely about interpretation, and this is one of the reasons why teaching it to computers is so difficult.

Daniel Varab, MSc in Software Development (the programme has since been renamed Computer Science)



The teaching methods for Computer Science include lectures, group projects and exercises. Furthermore, you must be prepared to study literature including books and research papers. Through research-based teaching you will be exposed to contemporary computer science research.

The IT University has a close collaboration with the business community and the computer science industry, and the programme is designed to give you the opportunity to collaborate with private companies. This means you will be able to work with current real-world challenges, and you will have an opportunity to make a network in the industry even before you graduate.


To apply to the MSc in Computer Science, you need a university bachelor’s degree or a professional bachelor’s degree. If you have a different education (e.g. an international education), which is comparable to a university or professional bachelor’s degree, ITU will make an individual assessment of the education in question. In all cases, admission requires an educational background related to computer science or software development, which has included a significant amount of programming, foundations and software engineering. A prerequisite for admission is a language requirement of level B English with a minimum of 3 in grade point average.

ITU has compiled a list of Danish bachelor educations that the programme-specific admission requirements for the MSc in Computer Science. If your bachelor education is not on the list, your application must include an account of how you meet the admission requirements in other ways. Read more about the application procedure in “How to apply”.

ITU admits students from many different educational backgrounds, including students with international bachelor educations.

With a legal right to admission

You have a legal right to be admitted to the MSc in Computer Science if you have a BSc in Software Development or a BSc in Data Science (the technical track) from ITU. If you have a legal right to admission, you only need to upload an application in the application portal.

Without a legal right to admission

You must upload the following documentation:

  • A copy of your bachelor diploma (in English or one of the Nordic languages), including a transcript of courses and a transcript of your grades, or a preliminary transcript of your grades if you are taking your qualifying education at a Danish institution. If you are taking a foreign qualifying education, you must also send documentation for expected completion.

  • A motivated letter of application. The motivated letter must be in English and must not exceed one standard A4 page. Read the guide for writing the motivated letter. Using this guide does not guarantee admission. The motivated letter must be uploaded in PDF-format.

  • You need to fill out this template, even if your bachelor education is on the list of educations that live up to the education specific admission requirements, except if you have a legal right to admission. The template must be uploaded in PDF-format.

  • Documentation for level B English or a language proficiency test. The documentation should be in English or one of the Nordic languages.

If you have been enrolled on a higher education, but have not completed it (in Denmark or abroad), you must upload documentation for any exams you have passed from this education. The documentation must be in English or one of the Nordic languages.

If your bachelor education is not on the list of Danish bachelor educations that live up to the education specific admission requirements

In this case, you need to fill out this template and document how you have experience in the following areas:

  • Object-Oriented Programming and Functional Programming (inner classes and inheritance, generics, algebraic data types, polymorphism, immutable data). This is usually taught in introductory courses on programming and functional programming.

  • Discrete mathematics (propositional and predicate logics, induction principles, basic counting, discrete probability, sets, functions, graphs, trees). This is usually taught in a Discrete Mathematics course.

  • Algorithms and Complexity (big-O notation, basic analysis of algorithm correctness and complexity, hashing, basic data structures). This is usually taught in introductory courses on Algorithms and Data Structures.

  • Databases (relations databases, basic data analytics). This is usually taught in introductory courses on databases.

  • Software Engineering (requirements, testing, version control, development tools and processes, software architecture).

  • Basic Concurrent Programming (threads and locks). This is usually taught in medium-level courses on programming.

  • Foundations of Programming Languages (automata, grammars, regular expression, parsing, compilers, basic machine architecture). This is usually taught in introductory courses on compilers.

You should only put down ECTS-awarding activities. You must upload the template along with any other documentation.

Make sure you have all your documentation ready before you start your application. You should save drafts of your application continuously. Read more about how to live up to the documentation requirements in the section on “Documentation” below.

You can only apply by sending a digital application through the application portal. It is your responsibility to make sure that you complete the application process correctly, and that you send in the application by the deadline. The application portal opens in the middle of January. See application guide here.


Logon guide

It is very important that you read the Logon guide, tips and help before you begin your application.

The guide gives you step-by-step help with text and images throughout the application process, and we refer to the logon guide for help with any issues you encounter, before you contact ITU.

Confirmation of receipt of your application

You will receive an email from the application system, as documentation for having applied in time. You cannot speed up the processing of your application through personal inquiry.

Read more about what happens after you have sent your application.

ITU looks through your application, making an overall assessment based on:

Grade point average from your qualifying education (counts for 50%)

Where possible, ITU will calculate the grade point average from your qualifying education as a weighted average, where each grade is included with the weight, or level, which that study activity has compared to the entire course of the education. This also applies if your qualifying education is a combination of several educations.

If you have not passed your qualifying education at the time you apply, but expect to pass before study start at ITU, we will calculate a weighted average of the grades received at the time of your application. If it is not possible to calculate a grade point average for your qualifying education, the grade point average will not count in the overall assessment.

If you qualifying education is issued by a foreign university and includes grades, ITU will convert the grade point average based on the grading scale of the country in question.

Your background and your motivated letter of application (counts for 50%) 

This includes:

  • Your motivation for choosing the education you have applied to. Motivation covers, among other things, your individual motivation for making your choice. Furthermore, it can cover the connection between the education you are applying to and your qualifying education, and the connection between your overall and personal goals.

  • Your chance of completing the education your are applying to with good results. This assessment will be based on your previous course of study, but you are welcome to expand on the subject in your motivated letter of application. Your course of study can cover, among other things, the time spent on your education compared to the standard study time, aptitude for participating in project work and professional relevance. Remember to draw attention to any extenuating circumstances that might have affected your course of study (e.g. maternity or paternity leave, prolonged illness, starting your own company etc.)

  • General impression of you as an applicant. This includes areas not covered in the above, such as the general structure and seriousness of your application, e.g. appendices and language use. Aside from this, your knowledge of for example mathematics, analysis, IT systems (including e.g. construction and programming), social science/politics, business and design/aesthetics will be part of the general assessment. This also includes any publications, patents, software, art/design and other documented and relevant productions.

  • The applicant clearly shows his/her goals and motivation – this is expressed through the depth of motivation, reflections and a career plan that fits the education. We prioritize students who, in our opinion, will fill an important role in society (within which Computer Science educates)

  • The applicants ability to communicate clearly (preferably in English)

  • The applicant’s understanding of the goals and content of the programme, taking into consideration personal goals

  • We take into account any explanations of irregularities in the applicant’s documents, especially related to longer than standard study time.

    1 March at 23.59

    You can apply from the middle of January. You will receive an answer to your application no later than 10 June, and study start is in late August.
    Note: the MSc programmes have restricted admission.´

Documentation for level B English

You need to document an English language proficiency of at least level B with a minimum of 3 in grade point average (Danish high school levels) in one of the following ways:

  • You have passed a level B English exam in the course of taking a Danish high school exam (or through supplementary courses)

  • You have taken a relevant English test with a certain score. The test cannot be more than 2 years old
    Requirements for the English test:
    TOEFL paper-based test result: 560 minimum
    TOEFL IBT test result: 88 minimum
    IELTS (academic) test result: 6.5 minimum
    Cambridge Certificate of Proficiency in English: passed
    Cambridge Certificate of Advanced English: passed

  • You have taken an English-language high school exam or bachelor’s degree in Denmark, in another EU country, Norway, Iceland, Switzerland, USA, Canada, South Africa, Australia or New Zealand.

  • You have a qualifying bachelor’s degree from a Danish university (not a professional bachelor’s degree).

It is possible to apply before you have completed any necessary language proficiency test or supplementary courses. Instead, you must then upload documentation for being called to the test or being admitted to the course. No later than one month before study start, you must upload the results of the test or supplementary course in the application portal. If your result does not comply with the admission requirements, your admission will be annulled. Applicants who are not EU/EEA (EØS) citizens and who have to pay tuition fees will need to upload the results of the language proficiency test or supplementary course no later than 3 weeks after the application deadline.

The university code for TOEFL is 9015. You will need this code when you sign up for a TOEFL test. No code is needed for IELTS.

Copy of diploma, including transcript of your grades, from your qualifying education

If your qualifying education is a combination of several educations, you will have to send a diploma and transcript of your grades for each separate education. A combined education could for example be a multimedia design or a computer science education as top-up degrees from a bachelor’s degree.

Documentation for having passed elements of a master education

If you have previously been enrolled on a higher education on a master level, without completing it, it is your duty to upload documentation for any elements of the education that you have passed. This documentation will be used to assess whether to give you a starting credit for some of these elements.

Have you previously passed a Danish education on an equivalent or higher level?

If you have previously passed a Danish full-time master-level education, or another Danish full-time education on an equivalent or higher level, you will, as a rule, not be admitted to a new full-time master level education.

You can apply for an exemption from this rule if: 

  • A minimum of 6 years have passed between the completion of your previous education and study start on the new education
  • We assess that, for health reasons, you cannot use your completed education on the work market
  • We assess that your previously completed education has changed drastically or no longer exists

If you have not yet completed your qualifying education

If you have not yet completed your qualifying education, you will need to upload an updated transcript of your grades. If you are missing more than 60 ECTS to complete your education, you will also have to give an account of how you expect to complete the education before study start at ITU. If you are taking a foreign qualifying education, and if ECTS are not shown on the transcript, your institution will also need to confirm your expected completion time.

Only for non-EU/EEA (EØS) citizens with permanent residence permit in Denmark

Non-EU/EEA (EØS) citizens who reside in Denmark, and who wish to be exempt from paying tuition fees on their master level education, must send in documentation of their permanent residence permit or their residence permit with the possibility of permanent residence.

Foreign qualifying education

Foreign diplomas that are neither in English nor in one of the Scandinavian languages must be translated into Danish or English by the educational institution, an authorized translator or a public authority. If you are admitted, you must also show your original diploma at study start.

Further information?

If you have questions concerning the application procedure, please contact Student Affairs and Programmes.

It is also always a good idea to contact the Study and Career Guidance before you apply, if you have any unanswered questions or other doubts.

Which students are NOT charged tuition fees?

The following groups of students are not charged any tuition fees at the IT University of Copenhagen:

  • Students from countries within the EU/EEA 
  • Students on bilateral exchange programmes (e.g. Erasmus. Check with the international office at your own university) 
  • US students with a Fulbright scholarship
  • Students, who started studying at the IT University January 2006 or earlier

Which students are charged tuition fees?

Students from countries outside the European Union (EU) and the European Economic Area (EEA) are charged tuition fees.

How much is the tuition fee?

The tuition fee for a two years full study is 200,000 DKK. The tuition fees are payable by biannual instalments in advance of each term, i.e. DKK 50,000 per term.

If you start your MSc programme after 2012 the price of a full two years of study may have changed. Keep an eye on this website - we update our information on tuition fees every January.

Note that the IT University grants a scholarship to three or four exceptionally talented MSc applicants from non- EU/EEA countries. See more under Scholarships below.

Demonstration of funds

The Danish Immigration Service will ask students from outside the Nordic countries and EU/EEA countries to demonstrate funds before issuing a residence permit.

Please find further information about residence permit.

Exemptions from paying tuition fee

You may be exempted from paying a tuition fee if you have one of the following two residence permits in Denmark:

  • Permanent residence permit ("Permanent opholdstilladelse")
  • Temporary residence permit with the possibility of achieving a permanent residence permit ("Midlertidig opholdstilladelse m.m.f. varigt ophold")

However, having a student visa does NOT under any circumstances exempt you from paying a tuition fee. Please contact the Study Administration for further information. 

If you have one of the above residence permits, it is very important that you submit documentation for this to the Study Administration. We accept the following documentation:

  • A certified copy of your residence permit letter from the Danish Immigration Service
  • A certified copy of your residence permit card
  • A certified copy of the page in your passport showing your residence permit.

Based on the documentation submitted, the Study Administration will grant or deny exemption. If you are exempted from paying a tuition fee, you must meet the deadlines applicable to EU/EEA applicants.


The IT University of Copenhagen offers state scholarships to three or four exceptionally talented MSc applicants (full-degree students) from outside EU and EEA every year. The scholarships will be offered to the applicants who achieve the best scores according to the criteria in our admission rules. The state scholarships consist of free tuition and partly covering of living expenses.

Applicants cannot apply for the scholarships. The IT University considers all admitted MSc students for the scholarships and informs the students chosen for the scholarships in their letter of admission.

Please note that if you receive a scholarship, you will have to follow and pass full time studies.

To see information about living and accommodation in Denmark, see here.

Career prospects

The competencies you acquire on the Computer Science programme and the global perspective of the programme prepares you for a career in both a Danish and a global context. During your studies, you will be specialised in a particular area. After graduation, you can be working as e.g.:

  • System Developer
  • Programmer
  • Software Architect
  • IT Expert 
  • Database manager
  • Software Engineer
  • Quality Engineer
  • Project manager
  • System consultant 

If you want to explore the possibility for a PhD at the IT University see here.


Are you interested in studying at the IT University of Copenhagen, please contact The Study and Career Guidance.