Courses
Bachelor Programme in Computer Science (Datalogi)
Taught in English.
This course covers the components that go into a full data science pipeline, from the collection, processing and cleaning of data, to storing it efficiently in a database, to the implementation of efficient and modular models, to the exploration of data through interactive visualizations. Emphasis will be placed on dealing with data from multiple sources, and on the design of a modular work flow. Finally, the course will touch upon some of the fundamental challenges in data science, such as the presence of bias, and its potential impact on decision-making.
In this advanced course, you will get the chance to learn about the basics of reactive and event-based systems, as well as research-based technologies for implementing reactive and event-based systems with applications in various areas such as business process management systems, large scale data processing and distributed systems, games, robotics, and IoT.
Concretely, the course will introduce you to active research topics at DIKU with applications in industry that can serve as a basis for a bachelor project. This means that the course curriculum will consist of a number of research papers and online resources.
Taught in Danish.
Kurset introducerer studerende til fundamentale teknikker og værktøjer indenfor softwareudvikling. Emnerne i kurset inkluderer værktøjer, miljøer og metoder til udvikling, kvalitetssikring og vedligeholdelse af software, samt brug af komponenter, biblioteker og frameworks. Undervisningen tilrettelægges således, at de studerende i grupper udvikler en realistisk slutbrugerapplikation med givne krav under anvendelse af teknikker og værktøjer fra kurset.
This course provides an introduction to state-of-the-art research and applications within an area of programming languages involving theory, design, reasoning, implementation and/or application of programming languages. It acquaints students with performing and communicating independent research in project form. The course consists of a particular set of topics reflecting state-of the- art research and applications within theory, design, implementation and/or application of programming languages. This may include the construction, analysis or manipulation of programs with predictable properties and/or for a certain purpose. The particular topic(s) change from year to year. The course covers a selection of topics that reflect the current state of research as well as instructor and participant backgrounds and interests. It consists of lectures and exercises on the topics selected and subsequent group (2-4 persons) mini-projects. The mini-projects may consist of theoretical investigations, software construction or a combination of these. Master's thesis projects will be offered in continuation of the course. In 2022/23, the course is about interactive theorem proving based on functional programming. The topics offered in the course include introductions to higher-order logic, the Curry-Howard isomorphism, an advanced interactive proof system such as Isabelle/HOL or Coq, proof representation and proof automation, reasoning about algebraic and inductive datatypes, proofs of termination and code synthesis from proofs.
Taught in Danish.
Kurset tilstræber at give de studerende sådan viden og færdigheder, at de i projektgrupper sammen med både domæne-eksperter/brugere og andre IT-professionelle kan udvikle effektive og nyttige informationssystemer. I kurset vil den studerende lære:
(a) at oparbejde en velunderbygget forståelse af brugerbehov
(b) at opbygge en vision for et kommende informationssystem set i sammenhæng med brugskonteksten
(c) hvordan krav og ønsker til et nyt eller forbedret informationssystem kan beskrives og prioriteres i samarbejde med virkelige brugere
(d) hvordan der kan gennemføres en database-orienteret analyse og design-proces
(e) hvorledes et software-baseret produkt kan konstrueres og dokumenteres
Bachelor's Programme in Computer Science and Economics
This course introduces students to basic database concepts such as relational databases, normal forms, and transactions. In addition, the course covers system development (basic software development) and version control, and includes the practical development of a smaller system (web system, mobile system, or the like, which must be decided before the course starts) as project work.
Bachelor Programme in Health and IT (Sundhed og Informatik)
Kurset giver et overblik over forskellige tilgange til design af digitale sundhedsteknologier og praktisk erfaring med co-design metoder. Formålet er at gøre den studerende i stand til at forstå sammenhæng mellem brugernes problemer og it-baserede løsninger og at kunne afveje styrker og svagheder ved forskellige designmetoder og -teknikker til digital design.
Med udgangspunkt i projektarbejde, vil kurset øve den studerende i at arbejde praktisk og refleksivt med undersøgelser, der er baseret på brugerinvolvering og design. Fokus vil være på hvordan designrettede aktiviteter og -artefakter kan bruges til at udvikle en bedre forståelse for hverdagspraksisser og behov samt digitale sundhedsløsninger til borgere, patienter eller andre sundheds-it brugere.
Efter kurset kan den studerende selvstændigt udvælge, planlægge og facilitere brugerinvolverende designaktiviteter til udvikling af digitale sundhedsløsninger.
Taught in Danish.
Kurset giver en indføring i centrale udfordringer, begreber og metoder, som er vigtige i arbejdet med styring og realisering af større it-baserede projekter i almindeligt forekommende organisatoriske sammenhænge. Kurset har fokus på, hvordan den organisation, der skal have et it-system indført, sikrer sig at få de ønskede forretningsmæssige gevinster heraf - med et styret omkostnings- og risikoniveau.
The course provides an introduction to the elementary elements in the development of IT systems in the healthcare system. The course focuses on system development and software engineering techniques: requirements specification, basic UML diagrams and system development methods.
As software integrates with information systems, the student will acquire skills in modelling and manipulation of data in relational databases. Finally, the course will equip the student with skills in data communication via information exchange.
Kurset giver en introduktion til de elementære elementer i udviklingen af it-systemer i sundhedsvæsenet. Det indbefatter fra området software engineering: kravspecifikation, use cases, grundlæggende softwaredesigndiagrammer og implementering/testmetoder. Det indbefatter fra området Databaser: databasedesign og databasemanipulationssprog. Endelig giver kurset en introduktion til dataudvekslingsstandarder.
Høj kvalitet af sundhedsdata har afgørende betydning for behandlingskvalitet, patientsikkerhed, sammenhæng i patientforløb, afregning, kvalitetssikring og forskning. Vurdering af datakvalitet samt pålidelig udveksling af data på tværs af behandlingsenheder og sektorer kræver anvendelse af fælles datastandarder, terminologier og klassifikationssystemer. I dette kursus behandles følgende emner: Indsamling og kvalitetssikring af sundhedsdata (mht. reliabilitet, validitet, aktualitet og fuldstændighed); forskellige typer af data (fx kvalitative vs kvantitative, ustrukturerede vs strukturerede); termer, koder og klassifikationer; kliniske terminologier og klassifikationssystemer (fx ICD-10, SKS og SNOMED-CT); datastandarder (fx Medcom-standarder og HL7); semantisk interoperabilitet; aggregering af sundhedsdata; patientgenererede data (fx PRO).
Faget giver introduktion til udvikling af apps med server- og cloudbaseret lagring af data. Emnerne præsenteres med vægt på forståelse af principperne i de datalogiske teknikker, der typisk benyttes til realisering af app- og cloudbaserede it-løsninger.
Opgaverne i kurset knyttes til design og udvikling af apps inden for det telemedicinske anvendelsesområde. De studerende får hands-on erfaringer med programmering, opsætning af klient-server løsninger, og brug af software development kits til denne type it-løsninger.
Master's Programme in Computer Science
Taught in English.
The overall purpose of this course is to offer students an understanding of techniques in computer systems with a focus on correctness and adherence to system properties, such as modularity and atomicity, while at the same time achieving high performance. The course exposes students to various system mechanisms, especially from distributed systems, database systems, and network systems.
Taught in English.
The goal of this course is to give the participants an understanding of the technologies in computer systems for Big Data analysis and management. It covers both traditional methods used in data warehouses and parallel database systems, real-time stream processing systems, transactional database systems, as well as modern technologies of cloud computing and massively parallel data analysis platforms.
The term blockchain encompasses decentralized peer-to-peer systems maintaining a digital ledger without central control. The technology is not limited to cryptocurrencies and is applied to various fields, e.g., registries and supply chains. Similar to the impact of the internet, blockchain has the potential to truly disrupt multiple industries by making transactions and processes more democratic, secure, transparent, and efficient. Building on this vision, students will explore how the capabilities and the underlying mechanism of blockchain can be applied to generate economic and social value.
Software engineering represents the principles, methods, tools, and techniques involved in the design, development, implementation, and maintenance of software systems.
The software architecture of a system defines “the structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them”.
In order to design a software system, we need to structure it in such a way that functional and quality requirements can be fulfilled by an implementation.
The purpose of this course is to provide an overview of the different aspects and stages involved in the engineering of software with a special focus on architectural properties of large systems. Assuming that course participants are acquainted with basic software development principles, this course will provide knowledge on and experience with the wider aspects and stages in the lifecycle of a (large) software system. During this course the students will be introduced to the general principles of software engineering, methods for addressing software engineering problems, common tools and techniques for solving software engineering problems, and methods, tools, and techniques for designing software systems and their architecture.
The course will include lectures and exercises in the following subjects:
- Project Management
- Requirements Elicitation
- Architectural Analysis, Description, Synthesis, Prototyping & Evaluation
- Software Design and Development
- Software Implementation
- Quality Assurance
- Maintenance and Evolution
- Software Business
Master's Programme in Health and IT (Sundhed og Informatik)
Taught in Danish.
Formålet med kurset er at give de studerende indsigt i de komplekse tekniske og organisatoriske problemstillinger, der knytter sig til opbygning og udvikling af health information infrastructures. Kurset fokuserer på samspillet mellem den tekniske systemarkitektur, informations-arkitekturen (herunder klassifikationssystemer og ontologier), den kliniske praksis og de organisatoriske, økonomiske og politiske rammer for anvendelsen og udviklingen af infrastrukturen. Gennem introduktion til forskellige teoretiske perspektiver på health information infrastructures sættes de studerende i stand til at analysere og evaluere eksisterende infrastrukturer ligesom de opnår en grundlæggende forståelse af, hvordan infrastrukturer kan udvikles over tid.
Previous Courses
Taught in Danish.
Målet er at give de studerende praktiske, metodiske og teoretiske indsigter i og erfaringer med design og brug af borgernær sundhedsrelateret velfærdsteknologi.
Med udgangspunkt i en konkret borgerrelateret sundhedsproblemstlling, samt ved anvendelse af teoretiske og metodiske principper for informationssystemdesign og -evaluering, er målet at gøre den studerende i stand til på et videnskabeligt og kritisk grundlag at udvikle et koncept for en specifik velfærdsteknologisk løsning.
Der lægges vægt på, at den studerende får en forståelse af brugernes (eksempelvis borgere og fagpersoner), designmæssige, professionelle, etiske, organisatoriske og praktiske udfordringer, der knytter sig til sundhedsrelateret velfærdsteknologi nu og i fremtiden.