How to find and choose courses

Exchange students can choose courses across different study programmes at ITU, but only courses at their own level of studies.

BSc students can only register for BSc courses and MSc students can only register for MSc courses. See the course description for each course for possible formal prerequisites.

Please notice, the full course descriptions for Spring 2026 will not be published until November 15. Full list of courses and basic course information, such as abstract and learning outcomes, will be available from September 15, but can be subject to change. For course descriptions from previous semesters, please go ITU's Course Catalogue

Courses open for exchange students

Course nameLevelTime and place
The course is a hands-on introduction to the tools that are necessary to design and develop physical artefacts.
MSc
The course covers fundamental techniques for developing data management and data analytics applications.
MSc
The course covers fundamental techniques for developing data management and data analytics applications.
BSc
The course is an introductory course to the basics of computer vision and machine learning.

If you have already taken the course Machine Learning on the Bachelor programme in Data Science at ITU or a similar course, we recommend that you do not take this course.
MSc

Students attending this course will study some of the core algorithms and systems related to game development.

MSc
This course introduces basics of Bayesian statistics, Bayesian data analysis, Bayesian learning, and the programming tools that enable automation of these methods. The course emphasizes programmable statistical methods over pen and pencil analytics.
MSc

In this course, we teach both advanced machine learning (ML) approaches and hands-on skills for applying these approaches to data science problems.

MSc

This course provides an overview on the topics of bias and fairness in data, models, and algorithms, and on the associated ethical and accountability issues.

MSc
This course provides the basic algorithmic tools indispensable for every software developer.
MSc
The goal of the course is to make students able to manage and use data sets, e.g. by learning about tools for data interpretation and visualization, and to reason about the use of data in larger contexts.
MSc

In this course, you will learn how to analyze and improve the performance of a computer system with a specific focus on data-intensive systems.

To investigate a system’s performance and come up with solutions to improve it, there are three key things to know.

  1. How to devise a methodology to design experiments so that you can investigate the system’s performance,
  2. The toolset to run the necessary experiments and collect the results, and
  3. At least a basic understanding of the systems layers (hardware, operating systems, etc.) to be able to interpret your results and come up with solutions.

This is what we will cover in this course.

MSc
The course is focused on forming the basis of a data communicator. The students should recognize the various features of the human perception system, and operate around those limitations. We expect a student to be able to create effective visual encodings (charts), data-driven stories, dashboards and storyboards. The course will empower students with the underlying assumptions, guidelines and trappings of visualizing quantitative information. In doing so, the curriculum will put the field of data visualization in context; touching on its history from the first historic examples, right up until the propensity today of misleading people.
BSc

In this course, students learn how to work in data-driven design and development processes and what changes data analysis brings to the design and maintenance of games.

MSc
This course examines the socio-political, ethical and legal contexts of data by investigating a range of recent data controversies. In this course students will learn to critically reflect upon the multiple ways data is articulated as a controversial legal and ethical object.
BSc

The course will introduce and cover basic concepts in Enterprise Architecture -an approach to understand, manage and develop business strategy in a complex IT landscape. There will be an introduction to the recognised frameworks and models in Enterprise Architecture.

MSc

This course aims to enable students to design and develop websites and interactive Web applications based on standard Web technologies and software frameworks.

MSc

The subject of the course is functional, declarative programming in general and F# in particular.

MSc
This course teaches the conceptual foundation and practical implementation of game worlds.
MSc

This course gives an introduction to IoT as well as practical experience with the design and implementation of end-to-end IoT systems.

Practical examples and exercises will predominatly be from domains Energy and Environment.

MSc
The course will provide an understanding of how to analyze an organization's IT Governance & Quality Management (IT governance) and how to restructure the organization's IT governance so that it is in line with the organization's IT strategy.
BSc

The students will learn theoretical foundations of IT-enabled process improvement and apply these to a real life practical context by working with an organisation.

BSc

Turning the unprecedented amounts of data being collected today into useful information is well beyond the computing power of a single general purpose CPU core. It is, therefore, crucial to know and understand the methods and tools that are able to parallelize and distribute various data analysis tasks in an efficient way on multicore CPUs and/or on a cluster of machines.
With this goal in mind, this course first gives an overview of the popular parallel and distributed big data processing platforms. Then, it dives into scaling various machine learning tasks.

BSc
This is a course in mathematics covering linear algebra and basic probability theory. This course is the first course of the Algorithms and Machine Learning specialisations.
MSc
This course gives an introduction to Java/Kotlin development of apps for the Android platform, and an overview of concepts for handling concurrency on mobile devices.
MSc
The goal of this course is to give you a mindset of working with software in an abstract and semi-automated fashion, as in a production process (as opposed to a hand crafting process).
MSc

The objective of the course is to introduce students to important philosophical and historical perspectives on science and technology, as well as to more general epistemological and reflexive issues related to business informatics as a social science discipline. Throughout the course, the student will become acquainted with a series of concepts within a selection of thematic fields that can be used to critically interrogate empirical phenomena relating to ‘science’ and ‘technology’. 

BSc
This course is designed to introduce students to designing play and games from the perspective of Critical Design. The goal is to give students theoretical and practical knowledge about play that they can use in different subject areas, from game design and interaction design to software development.
MSc
The goal of the course is to teach how to navigate and actively participate in an increasingly complex and constantly changing service economy.
MSc
The design, development, and implementation of a software system requires the evaluation of several, often conflicting, aspects of the system and mastery of multiple tools and techniques. The aim of this course is to provide you with knowledge on how to design the architecture of  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. Beyond the design of software architecture you will also learn about the tools and approaches that are used in recovering the architecture of a system by the analysis of its source code and version control information.
MSc
The course examines the new responsibilities and obligations of state actors as they implement IT systems. It explores how public bodies use and store data, questions the line between public and private companies, and explores political and ethical questions of infrastructure and responsibility during public digitization initiatives.
MSc

The main outcome of the course is that students are equipped with an understanding of core theories, concepts and methods in co-design and participatory design approaches, and their historical grounding and development. Students will also have experience from applying co-design methods in a live project with real stakeholders, and reflecting on the process and results.

The course runs for the last time in the current format in Spring 2025

BSc

The course will be offered in English in Spring  2025 and a slight revision of course is expected.

Kursets mål er, at de studerende har (1) en grundlæggende forståelse af begreberne data, netværk og dataanalyse; og (2) en værktøjskasse med teknikker og teorier til at diskutere ideen om netværk og data som grundlag for konceptualisering af et netværkssamfund.

The course is offered for the last time in the current format in Spring  2025 ref. the revision of the BDDIT programme

BSc

NB: The course is taught in Danish / kurset undervises på dansk

The aim of the course is to give the student a basic understanding of how to work with design, innovation and concept development, with an explicit focus on sustainability and regenerative thinking. Based on a specific design case, the students will learn to apply selected methods and approaches to promote ethical aspects and sustainability in an actual design context. Throughout the course, the student will learn to critically reflect upon the impact, ethical issues in and role of digital design in the transition towards a more sustainable future.

The course is offered for the last time in the current format in Spring  2025 ref. the revision of the BDDIT programme

BSc
This course provides the basic algorithmic tools indispensable for every software developer.
BSc

This course gives a fundamental overview of Android programming concepts and the best practices for mobile app development.

BSc
The objective of the course is to provide students with ways of understanding, articulating and thinking critically about some of the fundamental assumptions about the psychology of games, play and players.
MSc

The course "DevOps, Software Evolution and Software Maintenance" is a BSc elective.

In this course, the students will discover all the software engineering activities that take place after an initial software product is delivered or after a legacy system is taken over from a theoretical and practical perspective. Students (in groups) will take over such a system that is live and serving users, they will refactor and migrate it to the languages and technologies of their liking. All subsequent DevOps, software evolution and software maintenance activities will be performed directly on the systems of the students.

BSc

The course "DevOps, Software Evolution and Software Maintenance" is an MSc elective.

In this course, the students will discover all the software engineering activities that take place after an initial software product is delivered or after a legacy system is taken over from a theoretical and practical perspective. Students (in groups) will take over such a system that is live and serving users, they will refactor and migrate it to the languages and technologies of their liking. All subsequent DevOps, software evolution and software maintenance activities will be performed directly on the systems of the students.

MSc
The overall goal of the course is to introduce students to a selection of the most important problem solving and decision support techniques within AI and optimization.
MSc
The overall goal of the course is to introduce students to a selection of the most important problem solving and decision support techniques within AI and optimization.
BSc

The course aims to train the students in conducting a thorough and valid analysis of online data sources with the use of basic programming, statistics and business intelligence tools. 

BSc

This course is designed to give students a basic introduction to programming and data processing. Students will get a hands-on introduction to the Python programming language and how to work with tabular data. This will enable them to solve simple programmatic tasks as well as to get an idea of what the role of the programmer entails. After the course student will be able to discuss and reflect on challenges and opportunities derived from approaching the world through algorithms.


MSc
This is an applied course on information security. The course focuses on in-depth penetration testing techniques, elements of cryptanalysis and digital forensics, ethical aspects of security and responsible disclosure.
MSc

The purpose of this course is to explore play as an expressive form and creative framework outside of the domain of games. As such, the learning goals and activities are not oriented towards game design. This course will focus on drawing into the digital design domain inspiration and practices from play and computer games.

This course is designed to expand the intellectual and professional scope of interaction design students.

BSc
The course is a hands-on introduction to the tools that are necessary to design and develop physical artefacts.
MSc
In this course, the students learn how to evaluate, design and prototype products based on latest artificial intelligence technologies.
MSc
This course provides an introduction into core concepts and applications of data science based approaches to geospatial data analysis.
MSc
This course aims to make students proficient in the functional programming paradigm used by languages such as F#, Scala, SML, OCaml, or Haskell. All programs created in the course will be written in F#, developed by Microsoft and incorporated in Visual Studio and the .NET framework. We will relate the functional paradigm to its imperative and object-oriented counterparts, but focus on concepts predominantly found in functional programming languages such as higher-order functions, recursion and tail recursion, immutable data structures, and first-class functions.
BSc

In collaboration with industrial partners, students will apply Scrum in practice and reason about its application in a controlled yet realistic environment.

BSc
This is a hands-on course that teaches you how to prove that programs are correct. You will get in-depth experience with tools for this task, as well as an understanding of the theory behind them. This course thus equips you to pursue a career in writing safety-critical systems, or in pursuing higher studies in this area.
MSc
This is a hands-on course that teaches you how to prove that programs are correct. You will get in-depth experience with tools for this task, as well as an understanding of the theory behind them. This course thus equips you to pursue a career in writing safety-critical systems, or in pursuing higher studies in this area.
BSc
Students attending this course will be able to implement core algorithms of Computer Graphics.
MSc
Through this course, the students will learn about the aspects of game programming commonly involving artificial intelligence methods, which methods are used and how to implement them.
MSc
Most organisations these days rely on business process modelling techniques such as BPMN to document, communicate, and analyse business processes. In recent years, however, advances in technologies have propelled the interest of organisations in automating some of their business processes, using technologies such as Robotic Process Automation, Business Process Management Systems, Adaptive Case Management, Chatbots, and Machine Learning.
This course introduces students both to the traditional craft of business processes modelling using state-of-the-art modelling techniques and to the increasingly important area of business process automation. The students learn to build a technological solution that automates a given business process in a real organisation and to design and analyse implementation strategies for the automation project.
BSc

Algorithmic problem solving is the art of designing algorithms to solve challenging programming problems. This requires extensive practice in classifying problems, choosing the right data structures, and identifying suitable algorithms. This is very different to a standard algorithm and data structure course, where the focus is on understanding the tools at hand, but not on using them to solve problems. This course bridges the gap between theoretical knowledge and practical solutions to computational problems.

BSc

Algorithmic problem solving is the art of designing algorithms to solve challenging programming problems. This requires extensive practice in classifying problems, choosing the right data structures, and identifying suitable algorithms. This is very different to a standard algorithm and data structure course, where the focus is on understanding the tools at hand, but not on using them to solve problems. This course bridges the gap between theoretical knowledge and practical solutions to computational problems.

MSc

Through this course, the students will learn about the aspects of game programming commonly involving artificial intelligence methods, which methods are used and how to implement them.

BSc

The course provides a basic introduction to scientific thought and introduces central philosophical perspectives on science, epistemology and technology, including central concepts in scientific methodology. The course puts a special focus on IT technologies, exploring its foundations and ethical implications.  

BSc

This course provides an introduction to the fundamental concepts of cryptography, the practice of protecting information and securing communication in computer systems. We start with classical encryption techniques, and consider modern private-key and public-key crypto systems and study their security against eavesdroppers or attackers, who tamper with network traffic. The course is aimed at students with a background in computer science or mathematics, and will include both theoretical and programming exercises. 


MSc

The course gives an in-depth introduction to the fundamental principles of statistics.

BSc

This course offers a comprehensive exploration of service design and management, equipping students with essential processes, principles, methods, and tools. It focuses on the strategic design and management of services, including digital components, and draws on expertise from various disciplines within service design and management. Through lectures, in-depth case studies, and interactive hands-on exercises, students will examine the characteristics and dynamics of services and service ecosystems. The course aims to deepen students' understanding of how services can be effectively designed, managed, and implemented to deliver substantial value to users, providers, and other stakeholders.


MSc

This course examines organizations in light of contemporary challenges with digitalization. It explores organizational perspectives on digitalization and cover theories that can help us better understand, and critically reflect upon, such profound challenges, while also offering hands-on approaches to managing them. Furthermore, it investigates questions of the changing nature of work, and themes such as leadership, management, and organizing in order to make students both knowledgeable about, and skilled in the practice of, and engaging with, digital transformation.

MSc

This course provides an introduction to Information Security Risk Management. The course enables students to lead risk assessments, and reflect on the applicability of different techniques for risk assessment and management.


MSc

This course provides an introduction to Information Security Risk Management. The course enables students to lead risk assessments, and reflect on the applicability of different techniques for risk assessment and management.

BSc

This course introduces theories and methods of innovation with a particular emphasis on products, services and systems that relate to or involve digital technologies. The course involves in-depth knowledge of innovation types, organizational context, identification of innovation opportunities, strategy and competitive analysis. Through a case-driven engagement with external companies and organizations, the students will develop, evaluate, present and argue for concrete concepts.

This course is a new course for the KDDIT 2024 intake. KDDIT students enrolled before 2024 and who has not yet taken Design-driven Innovation course, should sign up for KADDINN1KU Designdrevet innovation (see also transitional provisions)  

MSc

In this course, students will learn about qualitative research methods and the constitutive elements of qualitative research designs.  

BSc
The students learn to conduct work place studies and analyses through the use of ethnographic methods.
BSc

The “Database & Information Systems Foundations” course provides a comprehensive introduction to the key concepts and components of modern information systems, including hardware, software, users, and organizations. Students will explore the architecture of database systems, design Entity-Relationship (ER) and relational models, and develop SQL queries for real-world use cases. Additionally, the course covers business process modeling and guides students through the design and implementation of database-driven programs, equipping them with essential skills for building and managing information systems.


BSc

Learn to make custom data visualisations by designing with data. Uncover the possibilities of data visualization and discover how to play with data in code.

BSc

The goal of this course is to equip students to understand how underlying technological and social infrastructures shape the digital economy.


MSc

This course introduces basics of Bayesian statistics, Bayesian data analysis, Bayesian learning, and the programming tools that enable automation of these methods. The course emphasizes programmable statistical methods over pen and pencil analytics.

BSc