Find the programme structure that fits your year of admission on your Study Information.
Programme Structure
The MSc in Computer Science is a two-year programme concluding with a master's thesis. You can select from and combine a wide range of courses during your studies, such as: digital imaging, programming languages, distributed and parallel systems, systems engineering, human-machine interfaces, combinatorial optimization, and computer games.
You can also choose to study Computer Science with a minor subject >>
Study Tracks
You have the chance to study a subject area in depth. By selecting different elective and restricted elective courses you can either compose a programme of your own or choose one of seven available study tracks.
Read more about study tracks >>
Do a Project in Practice or Study Abroad
You can use some of your elective courses to do a Project in Practice in collaboration with a company or an organization.
It is also possible to study abroad during your degree. University of Copenhagen has numerous exchange agreements with universities worldwide. You can choose to study abroad for one or two semesters or for a shorter period; for instance take a summer school course.
Read more about studying abroad >>
Master's Thesis
Your degree is capped off with the thesis. Below is a list of previous thesis topics to give you an idea of what is possible:
- Counting Problems in Massive Graphs
- Enforcing Data Consistency in Event-Driven Microservices through Event-Based Constraints
- Generative Neural Networks for Ecosystem Simulation
- Identifying and Utilizing Reliable Agents in Real-Time Crowdsourcing Tasks
- Plant Health and Food Quality Qith RGB and Deep Learning
- Predictive Protein Stability Modeling Through Gaussian Processes and Encoding Methods
- Parallel Implementations of Machine Learning Algorithms
- Security Issues in eBPF Verifier
- Using Deep Learning for Image Segmentation of MRI Scans
- Generative Neural Networks for Ecosystem Simulation
- Implementation of a Blockchain with Native DCR Graphs Smart-Contracts
- Cooperative Virtual Reality Environment for Training Teamwork in the Maritime Business
- Game Physics Engine for Interactive Fluid Effects
The programme can be structured in two different ways, depending on whether you start in September or February:
Programme Overview, Study Start September
Compulsory courses: 22.5 ECTS
Restricted elective courses: 37.5 ECTS
Elective courses: 30 ECTS
Master's thesis: 30 ECTS
Block 1 | Block 2 | Block 3 | Block 4 | |
---|---|---|---|---|
Year 1 |
Advanced Programming | Advanced Computer Systems | Restricted elective course | Restricted elective course |
Restricted elective course | Advanced Algorithms and Data Structures | Restricted elective course | Restricted elective course | |
Year 2 | Elective course | Elective course | Thesis | |
Elective course | Elective course |
One block each year equals nine weeks of study and 15 ECTS.
Programme Overview, Study Start February
Study start in February is only for students with a reserved access to the programme. Read about reserved access here >>
Compulsory courses: 22.5 ECTS
Restricted elective courses: 37.5 ECTS
Elective courses: 30 ECTS
Master's thesis: 30 ECTS
Block 3 |
Block 4 |
Block 1 |
Block 2 |
|
---|---|---|---|---|
Year 1 |
Restricted elective course | Restricted elective course | Advanced Programming | Advanced Computer Systems |
Restricted elective course | Restricted elective course | Restricted elective course | Advanced Algorithms and Data Structures | |
Year 2 | Elective course | Elective course | Thesis | |
Elective course | Elective course |
One block each year equals nine weeks of study and 15 ECTS.
Restricted Elective Courses
Choose your restricted elective courses from the lists below. Click on each course for a detailed description.
7.5 ECTS are to be covered as restricted elective courses from the following list:
- Advanced Topics in Deep Learning
- Advanced Topics in Machine Learning
- Deep Learning
- Machine Learning A
- Machine Learning B
- Natural Language Processing
30 ECTS are to be covered as further restricted elective courses from the list above and from the following list:
- Advanced Topics in Human-Centered Computing
- Advanced Topics in Deep Learning
- Advanced Topics in Machine Learning
- Approximation Algorithms
- Computability and Complexity
- Computational Geometry
- Computational Methods in Simulation
- Computer Game Development Project (30 ECTS)
- Deep Learning
- IT Innovation and Change
- Machine Learning A
- Machine Learning B
- Medical Image Analysis
- Mobile Computing
- Natural Language Processing
- Neural Information Retrieval
- Numerical Optimization
- Online and Reinforcement Learning
- Proactive Computer Security
- Program Analysis and Transformation
- Programming Massively Parallel Hardware
- Randomized Algorithms
- Semantics and Types
- Signal and Image Processing
- Software Engineering and Architecture (15 ECTS)
- User Interface Technology
- Visualisation
- Project outside the course scope (7.5 or 15 ECTS)
- Thesis preparation project
You can study computer science with a minor subject if you want to acquire the competences to teach or disseminate both subjects. This enables you to teach in Danish upper secondary schools.
Furthermore, you will be qualified to work e.g., as a researcher, developer, or consultant in the IT sector, as well as in the financial or biomedical industry, or in public administration. You will also have the prerequisites for further studies e.g., a PhD programme.
The programme can be structured in different ways depending on whether your minor subject is within or outside the field of science, and whether you start in September or February. The tables below show the recommended academic progression in all cases:
Programme Overview, Study Start in September, Minor Subject Within the Field of Science
Compulsory courses: 22.5 ECTS
Restricted elective courses: 22.5 ECTS
Minor subject: 45 ECTS
Master's thesis: 30 ECTS
Block 1 | Block 2 | Block 3 | Block 4 | |
---|---|---|---|---|
Year 1 | Minor subject | Minor subject | Minor subject | Minor subject |
Minor subject | Minor subject | Restricted elective course | Restricted elective course | |
Year 2 | Advanced Programming | Advanced Computer Systems | Thesis | |
Restricted elective course | Advanced Algorithms and Data Structures |
One block each year equals nine weeks of study and 15 ECTS.
Programme Overview, Study Start in September, Minor Subject Outside the Field of Science
Compulsory courses: 22.5 ECTS
Restricted elective courses: 22.5 ECTS
Minor subject: 75 ECTS
Master's thesis: 30 ECTS
Block 1 | Block 2 | Block 3 | Block 4 | |
---|---|---|---|---|
Year 1 | Minor subject | Minor subject | Minor subject | Minor subject |
Minor subject | Minor subject | Minor subject | Minor subject | |
Year 2 | Advanced Programming | Advanced Computer Systems | Minor subject | Minor subject |
Restricted elective course | Advanced Algorithms and Data Structures | Restricted elective course | Restricted elective course | |
Year 3 | Thesis |
One block each year equals nine weeks of study and 15 ECTS.
Programme Overview, Study Start in February, Minor Subject Within the Field of Science
Study start in February is only for students with a reserved access to the programme. Read about reserved access here >>
Compulsory courses: 22.5 ECTS
Restricted elective courses: 22.5 ECTS
Minor subject: 45 ECTS
Master's thesis: 30 ECTS
Block 3 |
Block 4 |
Block 1 |
Block 2 |
|
---|---|---|---|---|
Year 1 | Minor subject | Minor subject | Advanced Programming | Advanced Computer Systems |
Minor subject | Minor subject | Restricted elective course | Advanced Algorithms and Data Structures | |
Year 2 | Minor subject | Minor subject | Thesis | |
Restricted elective course | Restricted elective course |
One block each year equals nine weeks of study and 15 ECTS.
Programme Overview, Study Start in February, Minor Subject Outside the Field of Science
Study start in February is only for students with a reserved access to the programme. Read about reserved access here >>
Compulsory courses: 22.5 ECTS
Restricted elective courses: 22.5 ECTS
Minor subject: 75 ECTS
Master's thesis: 30 ECTS
Block 3 |
Block 4 |
Block 1 |
Block 2 |
|
---|---|---|---|---|
Year 1 | Minor subject | Minor subject | Minor subject | Minor subject |
Minor subject | Minor subject | Minor subject | Minor subject | |
Year 2 | Minor subject | Minor subject | Advanced Programming | Advanced Computer Systems |
Restricted elective course | Restricted elective course | Restricted elective course | Advanced Algorithms and Data Structures | |
Year 3 | Thesis |
One block each year equals nine weeks of study and 15 ECTS.
Restricted Elective Courses
Choose your 22,5 ECTS restricted elective courses from the lists below. Click on each course for a detailed description.
You must choose at least one (7.5 ECTS) of the following courses:
- Advanced Topics in Deep Learning
- Advanced Topics in Machine Learning
- Deep Learning
- Machine Learning A
- Machine Learning B
- Natural Language Processing
Choose your remaining restricted elective courses from the list below:
- Advanced Topics in Human-Centered Computing
- Advanced Topics in Deep Learning
- Advanced Topics in Machine Learning
- Approximation Algorithms
- Computability and Complexity
- Computational Geometry
- Computational Methods in Simulation
- Deep Learning
- IT Innovation and Change
- Machine Learning A
- Machine Learning B
- Medical Image Analysis
- Mobile Computing
- Natural Language Processing
- Neural Information Retrieval
- Numerical Optimization
- Online and Reinforcement Learning
- Proactive Computer Security
- Program Analysis and Transformation
- Programming Massively Parallel Hardware
- Randomized Algorithms
- Semantics and Types
- Signal and Image Processing
- Software Engineering and Architecture (15 ECTS)
- User Interface Technology
- Visualisation
- Project outside the course scope (7.5 or 15 ECTS)
- Thesis Preparation Project
Curriculum
Curriculum for MSc in Computer Science.
Curriculum for MSc in Computer Science with a minor subject.
Shared section of the curriculum for all programmes at the Faculty of SCIENCE.