Aarhus Universitets segl

Bacheloruddannelser

På Institut for datalogi kan du læse to bacheloruddannelser Datalogi og IT-Produktudvikling. Fra 2025 er det også muligt at læse begge uddannelser - Computer Science & IT Product Development - på engelsk. 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.

Fag på første år - Datalogi

Det første år på Datalogi 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/datalogi eller i Kursuskataloget.

Introduktion til programmering

I kurset lærer du basale begreber og teknikker, som er nødvendige for at kunne programmere, teste sit program, og rette eventuelle fejl. I kurset anvender vi programmeringssproget Java og programmeringsomgivelsen BlueJ, som gør at du hurtigt kommer i gang med at skrive og køre programmer. De begreber og principper, som du lærer, er generelle og relevante for alle typer af programmeringssprog. Programmering læres ved træning, og kurset har derfor mange afleveringsopgaver, hvor du skriver små programmer.

Underviser: Professor Kurt Jensen. Kurt har forsket i sprog og teknikker til modellering og analyse af systemer, hvor computere, mobiltelefoner og andre enheder kommunikerer med hinanden. Derudover har han i næsten tyve år været leder af Institut for Datalogi, men arbejder nu udelukkende med undervisning.

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.

Underviser: Professor Anders Møller.
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.

Underviser: Jaco van de Pol.

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.

Introduktion til programmering

I kurset lærer du basale begreber og teknikker, som er nødvendige for at kunne programmere, teste sit program, og rette eventuelle fejl. I kurset anvender vi programmeringssproget Java og programmeringsomgivelsen BlueJ, som gør at du hurtigt kommer i gang med at skrive og køre programmer. De begreber og principper, som du lærer, er generelle og relevante for alle typer af programmeringssprog. Programmering læres ved træning, og kurset har derfor mange afleveringsopgaver, hvor du skriver små programmer.

Underviser: Professor Kurt Jensen. Kurt har forsket i sprog og teknikker til modellering og analyse af systemer, hvor computere, mobiltelefoner og andre enheder kommunikerer med hinanden. Derudover har han i næsten tyve år været leder af Institut for Datalogi, men arbejder nu udelukkende med undervisning.

Grundlæggende it-produktdesign

En stigende mængde af de fysiske produkter vi omgiver os med bliver udstyret med elektronik, batterier og forbindelse til internettet – populært kaldet Internet of Things (IoT). Med dette kursus får du de grundlæggende kompetencer til at designe fremtidens fysiske IoT-produkter og kan tage stilling til hvordan disse kan indgå i samfundet og i hverdagen.
Kurset kobler formgivning af fysiske produkter og programmering af software, og du vil blive introduceret til at læse og forstå forskningslitteratur. Du lærer at lave brugsundersøgelser og bliver i stand til at lave skitsere i tegning, fysiske modeller og video samt opbygge og programmere simple kredsløb.
I miniprojekter lærer du at kombinere disse kompetencer med teoretisk viden således at du kan forstå dine og andres designidéer med nye øjne.

Underviser: Peter Gall Krogh.

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.

Undervisere: Professor Andreas Basse-O’Connor og Adjunkt Henrik Garde.
Andreas’ forskning har til formål at "finde orden i kaos"; dvs. at afsløre de karakteristiske strukturer for en lang række problemstillinger der ved første øjekast virker helt tilfældige. Henrik forsker i at udvikle nye metoder til at bestemme objekters interne strukturer ud fra målinger foretaget på deres overflade.

The Web of Things

I kurset lærer du om Web of Things og Internet of Things (IoT). Vi starter med at udvikle simple websider, og senere skal du selv udvikle webservere med interaktive og database-drevne websites. Du vil også lære om udvikling på små enheder og om hvordan man forbinder dem med servere, så de kan integreres med websider. Sådanne små enheder kan optræde både som sensorplatforme og til interaktion.

I løbet af kurset anvendes professionelle programmeringsomgivelser og -værktøjer som Microsoft Visual Studio Code og Git, og vi bruger Linux-servere til at hoste vores programmer i skyen. Kurset kører parallelt med kurset "Databasesystemer" og man får lejlighed til at bruge sine kundskaber i praktiske systemer derfra, i dette kursus. Tilsvarende kan man bruge hvad man har lært i dette kursus i det samtidige og efterfølgende kursus "IT-Produktdesignprojekt".

Underviser: Niels Olof Bouvin forsker i Internet of Things, hypermedier og Web. Han blev årets underviser ved Institut for Datalogi i 2015 og modtog ST Fakultets Education Award i 2016.

Databasesystemer

In this course you will learn how to store and work with information in databases. We start out with the basics of how to design and implement a database application and construct queries to retrieve data. Then we move on to principles of effective database design, and advanced topics including how to index data for quick access, how a database system can recover from a sudden shutdown or failure, and how many users can access the same database at the same time without causing errors.

This course makes use of skills you gain elsewhere, including in programming and logic, and also trains you on how to translate real-world requirements into a design a computer understands, and vice versa.

Underviser: Professor Ira Assent

It produktdesignprojekt

IT-Produktdesignprojektet afslutter dit 1. år hvor du kommer til at bruge alt hvad du har lært i de forskellige kurser indtil nu, i et større afslutningsprojekt (i daglig tale omtaler vi kurset ved forkortelsen ”IT-PDP”).
I projektkurset arbejder du sammen med din gruppe, hvor I skal udvikle en prototype på et fremtidigt produkt ud fra en konkret problemstilling inden for f.eks. sundhed, sport eller smarte bygninger. Undervejs i projektforløbet undervises du i relevant teori og metoder, og du får erfaring med feltstudie, modellering, brainstorming, formgivning, 3D-print, laserskæring, brug af sensorer og aktuatorer, cloud-opkobling af produkter, bruger-evaluering mm.
Kurset afsluttes med en offentlig udstilling af alle de færdige prototyper, hvor I gennem posters og en pitch fortæller om jeres projekt til de besøgende.

Undervisere: Professor Kaj Grønbæk, labkoordinator Simon Hoggan Christensen og adjunkt Minna Pakanen.
Kaj forsker i Human Computer Interaction (HCI), og han har været med til at udvikle IT-Produktudviklingsuddannelsen. Kaj har stor erfaring med forskning, der kan omsættes til løsninger på samfundets problemer f.eks. brug af wearables i sundhed eller Augmented Reality til industrien.

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.