Courses

Bachelor Programme in Computer Science (Datalogi)

Computersystemer (CompSys) / Computer Systems

Taught in Danish.

Kurset giver et overblik over essensen af maskinarkitekturer, styresystemer, og datanetværk. Kurset er rettet mod datalogistuderende, og søger at udvikle en grundlæggende forståelse for koncepter indenfor it-systemer. Efter kurset vil den studerende besidde evnen til at reflektere over den praktiske ydeevne af lavniveau programmer, samt besidde det faglige grundlag for senere praktiske og teoretiske kurser i datalogi.

More information

Implementering af programmeringssprog (IPS) / Implementation of Programming Languages

Taught in Danish.

I undervisningen gennemgås forskellige elementer af fortolkning og oversættelse af programmeringssprog: Leksikalsk analyse, syntaksanalyse, typecheck, fortolkning, kodegenerering, registerallokering og lagerhåndtering. De grundlæggende metoder til implementering af disse elementer gennemgås, inklusive brug og virkemåde af semi-automatiske værktøjer.

More information

It-sikkerhed (ITS) / IT Security

Taught in Danish.

Dette kursus har til formål, at give en introduktion til basale begreber inden for it-sikkerhed, som giver en helhedsforståelse af it-sikkerhed og sikkerhedsprocessen.
Kurset omhandler principper inden for computer- og netværkssikkerhed, og vi vil diskutere forskellige angrebsteknikker, og hvordan man kan imødegå dem. Kurset introducerer bl.a. sikkerhedsanalyse, analyse af trusselsaktør, usikker software, sårbarheder i web-applikationer, netværksangreb og -forsvar, adgangskontrol og operativsystemsikkerhed, kryptografi, ondsindet programmel, social engineering angreb, privatlivsbekymringer samt juridiske og ledelsesmæssige aspekter ved it-sikkerhed. Kursusprojekter vil fokusere på sikkerhedsanalyse, at bygge sikker kode og analysere angreb.

More information

Programmering og problemløsning (PoP) / Programming and Problem Solving

Taught in Danish.

Kurset giver en introduktion til programmering og til hvordan problemløsning struktureres vha. et program. Der gennemgås grundlæggende koncepter og terminologi indenfor programmering. Der undervises i funktionelle, imperative og objektorienterede programmeringsparadigmer.

More information

Programming Language Design (PLD)

Taught in English.

The course explores the design space of programming languages and how the design choices affect implementation and other properties of the language.
A brief history of programming languages is presented and a selected set of features are explored with respect to design choices, how they interact and how they can be implemented.
The aim is to give the student an understanding of the programming-language landscape that will both be helpful when the student designs and implements programming languages but also to better understand existing programming languages.

More information

Bachelor Programme in Communication and IT (Kommunikation og IT)

Grundlæggende datalogi / Introduction to Computer Science

Taught in Danish.

Grundlæggende datalogi gennemgår centrale begreber og tilgange inden for programmering. Den studerende lærer at redegøre for og anvende basale datastrukturer og algoritmer, og at programmere løsninger af konkrete problemstillinger. Kurset består af forelæsninger, øvelser og individuelle hjemmeopgaver. I løbet af semestret afleveres obligatoriske hjemmeopgaver, som skal godkendes før eksamen.

More information

Master's Programme in Computer Science

Advanced Programming (AP)

Taught in English.

The purpose of this course is to provide practical experience with sophisticated programming techniques and paradigms from a language-based perspective. The focus is on high-level programming and systematic construction of well-behaved programs.

More information

Computability and Complexity (CoCo)

Taught in English.

In computing, there is continual tension between time usage and space usage, and what can be computed and what cannot be computed at all. The purpose of this course is to explore these issues: Regular languages, Context-free languages, Turing machines, Decidability, Reducibility, Complexity, Complexity classes (P, NP, PSPACE, EXPSPACE, L, and NL), Intractability.

More information

Data-Driven Financial Models (DatFin)

Taught in English.

The course gives the student a thorough introduction to financial theory, financial markets and products. Besides theory, students will be introduced to practical problems faced by Financial Engineers through a number of real world case studies. The course will prepare the student to take other advanced courses within finance. The students who are interested in using big data in financial markets should consider taking this course.

More information

Parallel Functional Programming (PFP)

Taught in English.

Parallel functional programming emphasizes the declarative nature of functional programming for making explicit, and for utilizing, the rich possibilities for parallelising computations.
The aim of the course is to introduce the principles and practice of parallel programming (i.e., programming using multiple hardware cores or processors in order to gain speed) in a functional programming setting. The course covers both multi-core parallel programming (for MIMD CPU programming) and many-core parallel programming (as for SIMD GPGPU programming).

More information

Proactive Computer Security (PCS)

Taught in English.

The goal of this course is to give students an introduction to IT security on a deeper technical level. The syllabus primarily takes on the viewpoint of the attacker, with excursions into defensive techniques motivated by the concrete attacks. The course focuses on gaining a deep hands-on understanding of a few selected topics rather than covering more material with the use of specialised tools.

More information

Program Analysis and Transformation (PAT)

Taught in English.

The automated processing of program texts is central to Computer Science. The prime example of such processing is traditional compilation of high-level to low-level languages – including the necessary supporting analyses, whether for error-detection purposes, or in support of efficiency-improving program optimisations. But other instances of program analysis and/or transformation abound in both core programming-language work, and in support of adjoining disciplines, such as algorithmics or security.

More information

Programming Massively Parallel Hardware (PMPH)

Taught in English.

In simple words, the aim of the course is to teach students how to write programs that run fast on highly-parallel hardware, such as general-purpose graphics processing units (GPGPUs), which are now mainstream. Such architectures are however capricious; unlocking their power requires understanding their design principles and also specialized knowledge of code transformations, for example aimed at optimising locality of reference, the degree of parallelism, etc. As such, this course is organized on three tracks: hardware, software, and lab.

Also part of the MSc Programme in Bioinformatics

More information

Semantics and Types (SaT)

Taught in English.

The aim of the course is to introduce students to the fundamental concepts and tools of modern programming-language theory. This includes the relevant descriptive approaches (formal semantics and type systems), their instantiations and applications to concrete situations, and the mathematical principles for reasoning about them.

More information

Master's Programme in Communication and IT (Kommunikation og IT)

Data mining og visualisering af netværksbaseret kommunikation / Data Mining and Visualization of Networked Communication

Taught in Danish.

Faglige mål:
- planlægge og gennemføre en undersøgelse af brugen af et eller flere itsystemer
- forklare anvendelsen af statistiske modeller, data mining og visualisering til at beskrive og forudsige brugsmønstre i it-systemer og kommunikation i netværk
- identificere, indsamle og forberede relevante data til analyse af brugsmønstre i et givet it-system
- analysere og formidle resultater fra undersøgelser af it-brug og kommunikation i netværk ved hjælp af statistik og visualisering
- vurdere og perspektivere anvendelsen af store datamængder til en given problemstilling vedrørende it-brugsmønstre eller kommunikation i netværk
- analysere et udvalgt it-værktøj og vurdere dets anvendelighed til at indsamle data og analysere it-brugsmønstre i en given kontekst.

More information

Summer Course

Subjects in Blockchain Technology (SBT)

Taught in English.

The term blockchain encompasses decentralised peer-to-peer systems maintaining a joint ledger (log of event) without central control or privileged platform providers or users, as well as applications conceived for and made possible by such technology.

Blockchain has gained much interest due to the growing interest in Bitcoin and other cryptocurrencies. However, the potential of blockchain technology is not limited to transfers of cryptocurrencies, but expands to a variety of smart contracts. Some believe it has the potential to revolutionise the world just like the internet did.

We will engage in a "blockchain summer of code'', 4 weeks of software development where we will have a compact introduction to state-of-the-art blockchain technology, followed by implementing a prototype in a team to solve a real-world problem using blockchain technology. Examples of potential projects are contract management languages, identity (Know-Your-Customer, data mining), reporting and applications such as backup, bill of lading and resource tracking. Each team can choose an blockchain platform (such as the Ethereum network or R3 Corda) that is adequate for the particular use case.

We look for diversified groups of participants from different technical disciplines including computer science, economics, mathematics, engineering, etc.) as the project will depend not only on the technology but also on the usability of the solutions.

The course will run full time for 3 weeks in August 2019.
Course Capacity: 40 students out of which 15 spaces are reserved for students from other technical disciplines than computer science (e.g. industry participants, mathematics, engineering, etc.).

More information