Aarhus Universitets segl

Bacheloruddannelser

På Institut for datalogi kan du læse to bacheloruddannelser Datalogi og IT-Produktudvikling. En bacheloruddannelser tager tre år, hvorefter du har mulighed for at søge ind på kandidatuddannelsen og specialisere dig endnu mere. Begge uddannelser sikrer dig en meget eftertraget profil, og der er gode jobmuligheder her i Aarhus, men også i både ind- og udland.

Du kommer til at arbejde både teoretisk og praktisk med bl.a. softwareudvikling, interaktionsdesign, kunstig intelligens og machine learning - og du lærer det helt fra bunden. Det er derfor ikke nødvendigt at du har erfaring med f.eks. programmering før du starter. Der er mange måder at lære alt det nye på. Vi har f.eks. forelæsninger i auditorier, øvelser i mindre hold, og en studiecafé hvor vi kan få hjælp.

Det er også muligt at læse vores to bacheloruddannelser - Computer Science og IT Product Development - på engelsk. Du skal dog være opmærksom på at der er et begrænset antal pladser på de internationale bacheloruddannelser. Vi anbefaler derfor, at du også søger om optagelse på den tilsvarende danske uddannelse. Når du læser på den danske uddannelse vil du have de fleste forelæsninger (på engelsk) sammen med de studerende på den internationale uddannelse, mens holdundervisningen er på dansk eller engelsk alt efter underviseren.


Fag på første år - Datalogi

Det første år på Datalogi skal du have kurserne herunder. Fold boksene ud for at læse mere om det enkelte kursus.
Du kan finde en oversigt over alle kurser på bacheloruddannelsen på bachelor.au.dk/datalogi eller i Kursuskataloget.

Introduktion til programmering

I dette kursus lærer du grundlæggende begreber og teknikker, der er nødvendige for at programmere, teste dine programmer og fejlrette eventuelle fejl. Vi bruger programmeringssproget Java, som gør det nemt hurtigt at komme i gang med at skrive og køre programmer. De begreber og principper, du lærer, er generelle og relevante for alle typer programmeringssprog. Programmering læres gennem praksis, og derfor indeholder kurset mange opgaver, hvor du skriver små, realistiske programmer.

Underviser: Lektor Magnus Madsen.

Algoritmer og datastrukturer

I dette kursus beskæftiger vi os med at strukturere beregninger og organisere data således at problemer kan løses effektivt/hurtigt. Teknikkerne i kurset bliver diskuteret uafhængigt af et konkret programmeringssprog, men der indgår enkelte afleveringsopgaver, hvor man skal omsætte de teoretiske teknikker fra kurset til konkret Java-kode. Her udnyttes at man samtidigt følger kurset Introduktion til Programmering.

Underviser: Professor Gerth Stølting Brodal.
Gerth forsker i algoritmer og datastrukturer, og er tre gange kåret som årets underviser ved Institut for Datalogi. I 2022 blev han hædret med Aarhus Universitets Jubilæumsfonds Undervisningspris. Derudover har han tre gange vundet studenterforeningen TÅGEKAMMERETs arrangement (med den ironiske titel) ”Verdens Kedeligste Foredrag”.

Introduktion til matematik og optimering

I kurset introduceres matematik med fokus på præcist matematisk sprogbrug i form af logik og mængder. Mantraet er at matematikken er det ultimative programmeringssprog. Hovedparten af kurset går med anvendelser som lineære ligninger, matricer, vektorer og optimeringsteori. Matematikken i kurset understøttes af små kodestumper i python og overbygningen Sage.

Underviser: Lektor Niels Lauritzen. Niels forsker i algebraisk geometri med hang til alt hvad der smager af programmering. Han har udgivet to internationale lærebøger (Cambridge University Press og World Scientific), men er på det sidste blevet overbevist om at interaktive lærebøger er fremtiden.

Computerarkitektur, Netværk og Operativsystemer

Er du nysgerrig på, hvordan computere fungerer, hvordan de kan klare flere ting på én gang, og hvordan de får forbindelse til internettet? I dette kursus kommer du til at dykke ned i, hvordan computere er bygget op, og hvordan de arbejder bag kulisserne. Du starter med at se på computerens grundlæggende dele, og hvordan den behandler instruktioner. Vi bruger x86- og ARM-arkitekturer som eksempler. Vi kigger også på operativsystemer – det software, der sørger for, at alt fra hukommelse til filer fungerer problemfrit. Til sidst lærer du om netværk og internettet – hvordan data flyttes mellem enheder og de grundlæggende principper for internetkommunikation.

Undervisere: Peyman Afshani og Jean Pichon-Pharabod. Peyman er ekspert i computersystemer og datastrukturer, mens Jean specialiserer sig i samspillet mellem hardware og operativsystemer.

Programmeringssprog

Programmering er en essentiel del af datalogi. I dette kursus opnår du en solid forståelse for de grundlæggende mekanismer i moderne programmeringssprog. Dette er afgørende for at kunne udvikle avanceret og fejlfri software. Kurset gennemgår teori for syntaks og semantik i programmeringssprog. Teorien er suppleret af praktiske programmeringsopgaver, hvor vi bl.a. konstruerer en fortolker og en oversætter.

Undervisere: Professor Anders Møller og lektor Andreas Pavlogiannis.
Anders har modtaget den danske EliteForsk-pris for sin forskning i programmering og metoder til at analysere programmers korrekthed.

Beregnelighed og logik

Hvad kan egentlig beregnes? I dette kursus udforsker vi modeller af automatiske maskiner. Vi vil bevise at der er nogle matematiske problemer som, fundamentalt set ikke kan beregnes. Beviset er uafhængigt af valg af computerteknologi eller programmeringssprog.
Kurset giver dig en forståelse af hvad de grundlæggende begrænsninger inden for datalogi er. Du vil også blive introduceret til både enkel og kompleks logik, og se hvordan logik kan bruges til at bevise at et program er korrekt. Derudover vil du lære hvad forskellen er mellem matematisk sandhed og beviselighed.

Undervisere: Professor Jaco van de Pol og adjunkt Daniel Gratzer.

Fag på første år - IT-Produktudvikling

Det første år på IT-produktudvikling skal du have kurserne herunder. Du kan folde boksene ud for at læse mere om det enkelte kursus.
Du kan finde en oversigt over alle kurser på bacheloruddannelsen på bachelor.au.dk/itproduktudvikling eller i kursuskataloget.

Foundations of IT Product Design

The course introduces how sketching, modelling and prototyping both in an exploratory and in a suggestive manner. Furthermore the course introduces IT design and interaction in scale of the body; both in terms of perception and ergonomics. The focus of the course is practical and aesthetic means to understand and manifest the character of physical form and environments in relation to sensor, actuators and computational properties such predictability, calculability, and programmability comprised in simple interactive systems. The course is based on literature studies, a variety of artistic approaches and tools visualizing, sketching, prototyping physical and digital concepts – here a key competence is the skill of drawing by hand. Finally, the course introduces a foundational hands-on experience of physical materials including basic knowledge and competences in building and programming hybrid digital/ physical prototypes.

Instructor: Majken Kirkegård Rasmussen

Introduktion til programmering

I dette kursus lærer du grundlæggende begreber og teknikker, der er nødvendige for at programmere, teste dine programmer og fejlrette eventuelle fejl. Vi bruger programmeringssproget Java, som gør det nemt hurtigt at komme i gang med at skrive og køre programmer. De begreber og principper, du lærer, er generelle og relevante for alle typer programmeringssprog. Programmering læres gennem praksis, og derfor indeholder kurset mange opgaver, hvor du skriver små, realistiske programmer.

Underviser: Lektor Magnus Madsen.

Calculus alpha

I dette kursus indføres nogle af de mest fundamentale matematiske værktøjer til at løse videnskabelige og teknologiske problemstillinger. Vi vil specielt fokusere på at løse problemer der afhænger af mange variable som f.eks. løsning af lineære ligningssystemer og maksimeringsproblemer. Kurset ligger op til at den studerende opnår en fortrolighed med de matematiske begreber gennem arbejde med en lang række konkrete opgaver.

Underviser: Jess Tolstrup Boye

Physical Computing

The course will cover the fundamental concepts of the Physical Computing paradigm. Students on this course will study the properties and use of standard components such as resistors, diodes, transistors and capacitors but also more complex components such as microcontrollers, sensors, and actuators. They will learn how to apply these components to create standalone interactive circuits that can be integrated into everyday objects, with a didactic focus on physical properties and interaction models. Following on from this, students will learn how to create and print 3D models, and explore the haptic properties of different materials. This will provide the students with the skills for prototyping and building mock-ups of new interactive artefacts and environments. The student should understand how hardware, software and other materials can be combined in the design of computational objects for HCI.

Instructor: Professor Eve Hoggan and lab coordinator Simon Hoggan Christensen

Computerarkitektur, Netværk og Operativsystemer

Er du nysgerrig på, hvordan computere fungerer, hvordan de kan klare flere ting på én gang, og hvordan de får forbindelse til internettet? I dette kursus kommer du til at dykke ned i, hvordan computere er bygget op, og hvordan de arbejder bag kulisserne. Du starter med at se på computerens grundlæggende dele, og hvordan den behandler instruktioner. Vi bruger x86- og ARM-arkitekturer som eksempler. Vi kigger også på operativsystemer – det software, der sørger for, at alt fra hukommelse til filer fungerer problemfrit. Til sidst lærer du om netværk og internettet – hvordan data flyttes mellem enheder og de grundlæggende principper for internetkommunikation.

Undervisere: Peyman Afshani og Jean Pichon-Pharabod. Peyman er ekspert i computersystemer og datastrukturer, mens Jean specialiserer sig i samspillet mellem hardware og operativsystemer.

Applications of Internet of Things and Edge Computing

Mere information følger.

Introductory Statistics and Data Analysis using Python

Mere information følger.

Vores undervisere forklarer

Vi har mange dygtige undervisere på Institut for Datalogi. Heldigvis vil de også meget gerne fortælle hvad de arbejder med og forsker i, og de er både gode og vant til at forklare det for nogen, der ikke ved lige så meget om det som dem selv. Klik her for en oversigt over de spændende artikler og podcasts du kan dykke ned i.