Master of Science in
Computer Science

The programme

The 2-year MSc in Computer Science is a programme designed for students with an IT-related undergraduate degree wishing to develop their skills and knowledge in computer science in a top-notch academic setting.

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

 

Meet a student from Computer Science

Unfortunately, we cannot show you this video without the use of cookies. You can accept cookies in the left corner of the page.

Is this programme for you?

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 know-how, and you are curious about areas related to the software development process – e.g. working in teams, planning, organising, creating, and implementing
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
Introduction to Machine Learning
7.5 ECTS
2nd semester Specialisation Course*
7.5 ECTS
Specialisation Course*
7.5 ECTS 
Elective Course or Project**
7.5 ECTS
Elective Course or Project**
7.5 ECTS
3rd semester Specialisation Course*
7.5 ECTS
Specialisation Course*
7.5 ECTS
Research Project
7.5 ECTS
Elective Course or Project**
7.5 ECTS
4th semester Master's Thesis
30 ECTS

* Specialisation courses must be chosen within the pool of specialisation courses offered for Computer Science. It is possible to take one 15 ECTS course instead of two 7.5 courses.

** Elective courses can be chosen within the pool of specialisation courses or electives offered for Computer Science. The modules can also be used for writing a project under supervision. Two 7.5 ECTS courses may be combined to make room for larger study activities of 15 ECTS.



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) focuses on advanced techniques for identifying and solving computationally hard problems and on how to adapt such techniques to real-world scenarios.
  • Practical Concurrent and Parallel Programming (7.5 ECTS). This course is about that part of programming that focuses on parallelism and concurrency. The Java programming language is the language used for practically addressing such aspects.
  • Advanced Programming (7.5 ECTS) addresses advanced programming techniques, with a special attention on functional programming and its applications. The course is a perfect balance of theory and practice, with focus on the Scala programming language.
  • Introduction to Machine Learning (7.5 ECTS). The course is an introductory course to the basics of computer vision and machine learning.
  • Research Project (7.5 ECTS): The research project is intended as the bridge between your specialisation and/or your electives and your thesis. It allows you to focus very narrowly and in great detail on the particular sub-topics of your specialisation or elective courses that will then be used in your thesis.

See a description of all courses



Specialisation courses and electives

The programme offers a number of specialisation courses. You can opt for one of our recommended specialisations or combine the courses in other ways to shape your own specialisation. The specialisation will allow you to reach an advanced level of skills 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

More

Hide

Recommended specialisations

The programme offers several recommended specialisations. By opting for one of the recommended specialisations you reach an advanced level of skills in a pre-defined area. The courses in the recommended specialisations may change over time.

Recommended specialisations presently, 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.

Courses: 

  1. Linear Algebra and Probability (7.5 ECTS)
  2. Advanced Algorithms (15 ECTS)

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

Courses: 

  1. Computer Systems Performance (7,5 ECTS)
  2. Readings in Data Systems (7,5 ECTS)
  3. How to build Data Systems (7,5 ECTS)
  4. Big Data Management (7,5 ECTS)
  5. Internet of Things (7,5 ECTS)

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.

Courses: 

  1. Cryptography (7,5 ECTS)
  2. Language-Based Security (7,5 ECTS)
  3. Data-Driven Security (7,5 ECTS)
  4. Program Verification (7,5 ECTS)
  5. Cryptographic Computation and Blockchain (7,5 ECTS)
  6. Ethical Hacking (7,5 ECTS)

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.

Courses: 

  1. Linear Algebra and Probability (7,5 ECTS)
  2. Advanced Machine Learning for Natural Language Processing (7,5 ECTS)
  3. Advanced Machine Learning for Computer Vision (7,5 ECTS)

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.

Courses: 

  1. How to make (almost) Anything (7,5 ECTS)
  2. AI Robotics (7,5 ECTS)
  3. Advanced Topics in Robotics (7,5 ECTS)

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

Courses:

  1. Modelling Systems and Languages (7,5 ECTS)
  2. Advanced Programming with Types (7,5 ECTS)
  3. Practical Software Analysis (7,5 ECTS)
  4. Probabilistic Programming (7,5 ECTS)
  5. Program Verification (7,5 ECTS)

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.

Courses:

  1. Software Architecture (7,5 ECTS)
  2. Advanced Software Engineering (15 ECTS)
  3. Software Ecosystems - Combining User Centered Design, Organisational and Technical Dimensions (7,5 ECTS)
  4. Industrial Scrum Master Training (7,5 ECTS)
  5. DevOps, Software Evolution and Software Maintenance (co-taugt BSWU) (7,5 ECTS)

 

Teaching

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.

Exchange

You have the opportunity to complete of your programme at a university abroad. The third semester is especially suited for an exchange. This is a chance for you to further specialise your education and have the experience of working in a new environment in a new country. The IT University has exchange agreements around the world. For students with computer science as their core competence we recommend:

  • Australia – Queensland University of Technology
  • Australia – University of Technology Sydney
  • Czech Republic – Charles University
  • Germany – Technical University of Munich
  • Iceland – Reykjavik University
  • Italy – Polytechnic University of Milan
  • Italy – Università di Trento
  • Japan – Kyoto University
  • Netherlands – Maastricht University
  • New Zealand – Auckland University of Technology
  • Norway – University of Oslo
  • Spain – Polytechnic University of Catalonia – Barcelona School of Informatics
  • Spain – Universidad Politécnica de Madrid
  • Sweden – Uppsala University
  • Switzerland – Università della Svizzera italiana
  • Taiwan – National Taipei University of Technology
  • Turkey – Koç University

Career opportunities

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.Computer Science graduates work as:

  • 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, please read more here.

Meet a PhD student

Unfortunately, we cannot show you this video without the use of cookies. You can accept cookies in the left corner of the page.

Are you interested in studying at the IT University of Copenhagen, and do you have questions about programmes, student life or the like, please contact the Study and Career Guidance.