Aarhus University Seal / Aarhus Universitets segl

Bachelor i Datavidenskab: Uddannelsens opbygning

Obligatorisk
Valgfag

Bachelor i Datavidenskab: kursusbeskrivelser

Introduktion til sandsynlighedsteori og statistik

Sandsynlighedsteorien beskæftiger sig med en matematisk beskrivelse af tilfældige systemer. Et af kursets formål er at introducere den studerende til dette område med fokus på fundamentale egenskaber for stokastiske variable, som f.eks., deres middelværdi og varians. Et andet formål er at blive fortrolig med et udvalg af standardfordelingerne inden for sandsynlighedsteori og statistik, og udføre statistiske test for hypoteser for givne modeller. Derudover, giver kurset en introduktion til programpakken R som vil blive anvendt til simulation af stokastiske variable og beregning af statistiske tests.

Introduktion til datavidenskab

Kurset fokuserer på gradvist at blive fortrolig med arbejdsgangen i dataundersøgelser i et datavidenskabsprojekt samt implementering af denne arbejdsgang. Kurset vil kombinere elementer af programmering med undersøgelser af to konkrete datasæt som bruges gennem hele semesteret for at illustrere metoderne til at visualisere, bearbejde og undersøge data. I løbet af semesteret vil der være 4-6 perspektiverende oplæg omkring indhold og muligheder i datavidenskab. Anvendelsesområder for datavidenskab, den samfundsmæssige kontekst og den forventede betydning for virksomhed og samfund kan alle være emner i disse oplæg, såvel som omtale af jobmuligheder for en kandidat i datavidenskab. Emnerne vil blive dækket gennem gæsteforedrag med personer med indsigt i datavidenskab.

Introduktion til matematik og optimering

Kurset er en introduktion til matematik med fokus på metoder og teknikker specielt med henblik på optimering. Vi begynder med en kort introduktion til matematikkens sprog i form af mægder, logik, bevisførelse og funktioner. Derefter introduceres lineære ligningssytemer og matricer med henblik på definite matriicer. Optimering introduceres i en overordnet ramme med ineær optimering og Fourier-Motzkin elimination som eksempel. For at kunne opnå det rette matematiske fundament indføres euklidiske vektorrum og analysens grundbegreber. Derefter bevæger vi os i retning af konvekse mængder. Differentialregning i en og flere variable behandles med speciel fokus på kædereglen og Newtons metode. I sidste del af kurset fokuseres på konvekse funktioner af flere variable og konveks optimering bl.a. Karush-Kuhn-Tucker betingelserne. Optimeringsdelen vil blive illustreret med eksempler på anvendelser i machine learning.

De matematiske begreber i kurset vil blive underbygget af små eksperimenter i programmeringssprogene Sage og python.

Matematisk statistik

Kurset giver en introduktion til fundamentale begreber og ræsonnementsmåder i matematisk statistik. Du vil lære at analysere data ved hjælp af klassiske parametriske metoder og få et indblik i inferens baseret på simulationer. Vægten ligger på at opnå en konceptuel forståelse for statistisk modellering og inferens. Vi vil bruge det statistiske program R til at analysere data og til stokastiske simulationer, der illustrerer ideerne bagved de statistiske metoder.

Introduktion til programmering med videnskabelige anvendelser

Kurset giver en introduktion til programmering med videnskabelige applikationer. Programmerings begreber og teknikker introduceres ved hjælp af programmeringssproget Python. Begreberne vil desuden blive illustreret i andre programmeringssprog.

Kursusindholdet inkluderer følgende:

  • Grundlæggende programmeringsbegreber: Datatyper, operatorer, variable, kontrolstruktur, betingelser, løkker, funktioner, rekursion, scope, exceptions.
  • Objekt orienteret programmering: Abstrakte datatyper, klasser, nedarvning, indkapsling.
  • Grundlæggende algoritmiske teknikker: Sortering, binær søgning, dynamisk programmering.
  • Systematisk udvikling af programmer: Test og fejlfinding.
  • Fil-baseret input/output, numerisk analyse, funktionel programmering.
  • Videnskabelige anvendelser ved hjælp af standard pakker i Python.

Kurusbeskrivelsen for den kommende version er linket herunder

Numerisk lineær algebra

Lineær algebra er et centralt værktøj i matematisk modellering i mange naturvidenskabelige fag. Det handler om at formulere problemstillinger i termer af matricer og vektorer, og om metoder til at løse forskellige typer af matrixligninger. Ofte ønsker man at udføre beregningerne ved hjælp af en computer og i denne forbindelse er der udviklet forskellige beregningsteknikker med særlige gode egenskaber for visse problemstillinger. Kurset vil introducere nogle af disse metoder, med fokus på hvordan disse teknikker kan anvendes via programmeringssproget Python. Relevante dele af den tilknyttede vektorrumsteori vil også blive indført.

Kausal inferens

De fleste videnskabelige spørgsmål er kausale. For dette kursus er følgende typer af spørgsmål relevante:

  • Hvad forårsager global opvarmning?
  • Kan gener ændres med det formål at fjerne AIDS?
  • Hvad får aktiepriser til at ændre sig?
  • Hvordan påvirker personers adfærd deres helbred?
  • Hvad bestemmer job tilfredshed?
  • Hvor stor en andel af børns uddannelsesmæssige resultater skyldes arv sammenlignet med miljø?
  • Hvad forklarer forbrugeres søgeadfærd på Internettet?

Kausale spørgsmål baseret på observationelle data er gennemgående vanskelige at besvare. Konceptuelt skyldes det, det faktum, at vi spørger ”hvad ville være sket havde omstændighederne været anderledes?”. Et randomiseret eksperiment designet til at besvare et specifikt kausalt spørgsmål under givne forudsætninger kan give et svar. Dette er nyttigt, specielt for spørgsmål, der kan afprøves i et laboratorium. For de fleste andre spørgsmål er randomiserede eksperimenter svære at udføre på en virkelig population og når de udføres er stikprøvestørrelsen typisk lille. I stedet analyserer vi observationelle data. Kausale spørgsmål kan i sådanne tilfælde besvares med følgende metoder: enten via strukturel modellering eller ved at identificere omstændigheder under hvilke data kan analyseres som stammende fra et quasi-eksperiment. Dette kursus fokuserer specielt på disse to metoder.

Statistical Learning og Machine Learning

Machine Learning er den disciplin, der giver os mulighed for ud fra data at træne maskiner til at løse komplicerede opgaver. De fleste teknikker i Machine Learning involverer trin: det ønskede mål og estimering / optimering af modellens parametre baseret på data til opnåelse af objektiv. Sædvanlige dimensionsreduktion, klyngedannelse og estimation af modelparametre involverer konveks optimering og optimeringsmetoder.

Algoritmer og datastrukturer

Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle beregningsprocesser og som grundlag for formelle korrekthedsbeviser og analyse af ressourceforbrug af beregninger og have detaljeret viden om flere konkrete implementeringer af grundlæggende datastrukturer, graf algoritmer og anvendelser af algoritme-design-paradigmer. Deltagerne vil også have erfaring med at implementere og evaluere algoritmers ydeevne på simple algoritmiske problemer.Deltagerne vil efter kurset have indsigt i algoritmer som model for sekventielle beregningsprocesser og som grundlag for formelle korrekthedsbeviser og analyse af ressourceforbrug af beregninger og have detaljeret viden om flere konkrete implementeringer af grundlæggende datastrukturer, graf algoritmer og anvendelser af algoritme-design-paradigmer. Deltagerne vil også have erfaring med at implementere og evaluere algoritmers ydeevne på simple algoritmiske problemer.

Databasesystemer

Deltagerne vil efter kurset have indsigt i teori og praksis for relationelle databaser samt praktisk erfaring med anvendelse af et moderne databasesystem på basalt niveau.

Implementering og anvendelser af databaser

Kurset diskuterer relationsalgebra som et eksempel på teorien bag databasesystemer og basale teknikker for forespørgselsoptimering. Avancerede teknikker for samtidige transaktioner i et DBMS bliver behandlet. Vi studerer distribuerede databaser, og algoritmer for processering af distribuerede transaktioner. Kurset kommer også ind på data warehouses og online analytical processing såvel som stream databaser. Vi introducerer aktuelle alternativer til relationelle DBMSer (NoSQL).

Modellering og løsning af optimeringsproblemer

Mange problemstillinger er kendetegnet ved, at en beslutningstager har behov for at vælge mellem et stort antal alternativer i så komplekse sammenhænge, at det er meget omfattende at afgøre, hvilken beslutning der vil være mest hensigtsmæssig. Sådanne problemstillinger findes inden for en bred vifte af områder, eksempelvis følgende:

  • Flyindustri, bl.a. vedrørende planlægning af flyruter og mandskabsplanlægning
  • Telekommunikation, bl.a. design af kommunikationsnetværk
  • Fremstillingsindustri, bl.a. produktionsplanlægning, kapacitetsplanlægning, lagerstyring, og analyse af flaskehalse
  • Sundhedssektoren, bl.a. hospitalsledelse, design af faciliteter
  • Transport, bl.a. strømninger i netværk, layout af lufthavnsterminaler, og lokalisering af faciliteter

Sådanne problemstillinger kan i mange tilfælde beskrives som matematiske optimeringsproblemer og løses ved hjælp af matematiske metoder.

Dette kursus beskæftiger sig med de muligheder og udfordringer, som man står over for i disse sammenhænge med henblik på at modellere og løse sådanne problemer matematisk.

Dataprojekt

Den helstøbte data scientist har veludviklede kommunikative, analytiske og tekniske evner. Formålet med dette kursus er at styrke disse kompetencer gennem et antal projekter, hvor en faglig problemstilling kan belyses og forstås ved en grundig analyse af tilhørende data. Projekternes størrelse er af varierende omfang og kompleksitet. Problemstillingerne, analyserne og resultaterne præsenteres og diskuteres skriftligt og mundligt af de studerende med henblik på at kunne:

  • kommunikere en data analyse,
  • argumentere og forholde sig til grundlæggende antagelser og forudsætninger,
  • udlede og forklare modeller og de tilhørende analyser,
  • diskutere analysens resultater,
  • forholde sig til hvilke spørgsmål, der er blevet besvaret.

Kursusbeskrivelsen kan findes via linket herunder

Deep learning

Kurset omhandler centrale emner i uddannelsen: Den grundlæggende teori for neurale netværk og deres træning.

Undervejs inddrages praktiske problemer som f.eks. tale- og billedgenkendelse. Forskellige typer af netværk berøres, herunder convolutional neural networks og recurrent neural networks. Specielt vil kurset introducere reinforcement learning i kombination med deep neural networks i beslutningsprocesser. Ved kursets afslutning forventes den studerende at kunne anvende teknikker for design og træning af deep neural networks i realistiske problemstillinger.

Videnskabsteori og etik

Videnskabsteori i kontekst af datavidenskab med problemstillinger fra machine learning og kunstig intelligens, samt problemstillinger relateret til indsamling og anvendelse af data fra store puljer af data, der opbygges på basis af individers adfærd fx. kørselsmønstre, telefoni, datatransport eller andet.

Ved kursets afslutning forventes den studerende at kunne reflektere kritisk over datavidenskabens rolle og ansvar i forhold til forskning, erhverv, samfund og kultur.

Bachelorprojekt

Her kan den studerende fordybe sig i et emne inden for datavidenskab. Emnet vælges i samarbejde med en underviser.