AAU logo
Uddannelse
Forskning
Samarbejde

Software, Civilingeniør

Fagligt indhold

Undervisning på softwareuddannelsen

Civilingeniøruddannelsen i software på Aalborg Universitet består af fire semestre, hvor du på de to sidste semestre skal vælge en retning, som du ønsker at fokusere dine studier på:

  • Databaseteknologi
  • Distribuerede systemer
  • Menneske-maskine interaktion
  • Semantik og verifikation
  • Maskinintelligens
  • Systemudvikling
  • Programmeringsteknologi

I Studieordningen for kandidatuddannelsen i Software kan du finde detaljer om kurser og projekter samt information om uddannelsens lovhjemmel mm.

OBLIGATORISK FOR ALLE IKKE-AAU BACHELORER

Alle bachelorer, som ikke har deres bachelorgrad fra Aalborg Universitet, skal deltage i et kursus om problembaseret læring (PBL) som en del af deres 1. semesterprojekt. Bachelorer, som har fået merit for 1. semester, skal deltage i kurset, så det sikres, at de lærer at arbejde efter PBL-modellen. Læs mere om PBL her.

Specialiseringer

Databaseteknologi

På denne specialisering skal du beskæftige dig med begreber og teknikker fra avancerede databaser, herunder design og implementering. Du kommer til at arbejde med bl.a. multidimensionelle databaser, fx data warehousing, Online Analytical Processing og data mining. Desuden skal du lære om spatiale (rumlige) og spatiotemporale databaser, herunder indeksering og processering af forespørgsler. Specialiseringen handler også om komplekse data i databaser, fx XML, Semantic Web og lign.

Distribuerede systemer

Distribuerede systemer er computersystemer, hvori programmer og/eller data er fordelt over en række samtidigt arbejdende processer, som udgør knudepunkterne i et kommunikationsnetværk, fx datakabler, telefonlinjer, satellitforbindelser osv. Du skal arbejde med videregående teorier og metoder inden for både distribuerede og indlejrede systemer. Fx indeholder kurserne emner som avancerede infrastrukturer og applikationer for fx grid-, cloud-, peer to peer- eller parallelle/multicore systemer.

Desuden kommer du til at lære om system og netværksprogrammel til indlejrede systemer, og du skal arbejde med ad hoc sensor networks, home automation, distribuerede algoritmer, paradigmer til programmering og teknikker til analyse. Med denne specialisering kommer du til at kunne anvende begreber og teknikker fra distribuerede systemer, samt designe og analysere distribuerede og indlejrede systemer.

menneske-maskine interaktion

Menneske-maskine interaktion eller Human-Computer Interaction (HCI) er en videnskabelig retning, som bl.a. handler om, hvordan man opbygger betjeningsdelen af en maskine (typisk men ikke nødvendigvis en grafisk brugerflade til en computer), så den er nem og intuitiv for mennesker at betjene. Ideen er, at brugerne ikke selv skal være teknisk kyndige, men at systemerne skal være tilpassede, så de bliver nemme og logiske at anvende. På denne specialisering kommer du til at arbejde med bl.a. interaktionsdesign og usabilityevaluering, og du bliver i stand til selv at designe og evaluere et konkret system.

semantik og verifikation

Semantik og verifikation handler om et programmeringssprogs opbygning (semantik), og at de anvendte algoritmer opfylder de krav, man har stillet til programmet (verifikation). På specialiseringen i Semantik og verifikation kommer du til at beskæftige dig med avancerede matematiske modeller til formel beskrivelse og verifikation af programmer, softwaresystemer og programmeringssprog. Det kan fx være Binary Decision Diagrams (BDD), SAT-algoritmer, prædikatlogik, Petrinet, temporallogikker og mobile proceskalkyler. Du kommer til at udvikle formelle modeller og verifikationsværktøjer til beskrivelse, analyse og verifikation af softwaresystemer.

maskinintelligens

Maskinintelligens går ud på, at intelligente computersystemer skal kunne tilpasse sig forskellige situationer og forskellige brugere. Fx skal et intelligent informationssystem give information og service, som brugeren netop har brug for, og ikke fremkomme med en masse resultater, som vedkommende ikke har behov for at vide noget om i den givne situation. På specialiseringen i Maskinintelligens skal du arbejde med bl.a. avancerede teknikker i data mining, avancerede metoder til ræsonnement og beslutningstagen under usikkerhed, design af intelligente systemer samt intelligente webbaserede systemer. Du skal også lære at analysere systemers anvendelighed og virkning ved løsning af specifikke opgaver.

systemudvikling

Systemudvikling består af en kombination af at finde frem til kravene til det system, man vil lave, analysere sammenhængene i det samt designe, programmere og teste det. Gennem denne specialisering vil du opnå viden om avancerede emner inden for systemudvikling i teori og praksis, og du kan bl.a. komme til at arbejde med analyse af systemudviklingspraksis, systemudviklingsmetoder, -processer og – kompetencer, organisation og ledelse af systemudvikling samt udvikling af systemer til komplekse sammenhænge, fx understøttelse af samarbejde i organisationer, vidensintensive systemer og informationsinfrastruktur.

programmeringsteknologi

Denne specialisering dækker over et stort spektrum inden for datalogiens verden. Specialiseringen indeholder bl.a. emner som avancerede programmeringsteknologier og -teknikker, herunder programmeringssprog. Du får viden om både nye tendenser inden for programmering samt klassiske avancerede emner. Du kommer til at arbejde med fx biblioteksdesign, scripting, performance studier, forskellige hardware platforme, deklarativ og generisk programmering mm. Med denne specialisering bliver du i stand til at udvælge de rette programmeringsværktøjer til en given opgave, at skrive korrekte og effektive programmer, der er lette at vedligeholde, og du bliver i stand til at vurdere ressourceforbrug, foretage optimeringer og udføre performance studier.


1. SEMESTER: Internet

På 1. semester af kandidatuddannelsen i software skal du og din gruppe lave projekt inden for temaet ”Internet”, hvor I skal udvikle en internetapplikation, -agent eller -service. Dette skal forstås bredt og spænder fra de mere gængse internetapplikationer til autonome agenter og det såkaldte ”Internet of Things”, hvor internetteknologi benyttes til at knytte fysiske objekter såsom husholdningselektronik sammen, og hvor der ikke nødvendigvis er en traditionel browserbaseret brugergrænseflade.

Projektmodul

kurser

Herudover skal du vælge to af følgende kurser:

2. SEMESTER: MOBILITET

Gennem projektarbejdet på 2. semester vil du lære at udvikle mobile applikationer og services. Igen skal temaet forstås bredt; mobile applikationer og services er specielt kendetegnet ved anvendelse af udstyr med begrænsede ressourcer i form af skærm, interaktion, processor og hukommelse. Det er samtidig applikationer, som med et begrænset strømforbrug kan udnytte trådløs kommunikation med andet udstyr og servere, og hvor brugerne og udstyret er mobile, dvs. kan flytte sig.

Projektmodul

kurser

Herudover skal du vælge to af følgende kurser:


3. SEMESTER: FORSPECIALISERING I software

På 3. semester vælger du hvilken retning, du ønsker, da du her skal vælge et kursus, som passer til. Projektet laves inden for den valgte retning. Selve semesterprojektet hedder overordnet "Forspecialisering i software", og det indebærer, at du lærer at formidle et aktuelt forskningsproblem inden for software, og med forspecialisering menes, at du gennem 3. semesters projektarbejde forbereder arbejdet med dit speciale, som du skal lave på 4. semester.

Projektmodul

Kurser

Du skal vælge mellem Entreprenørskab og IT-ret samt vælge et specialiseringskursus blandt følgende:


4. SEMESTER: kandidatSPECIALE 

Der udbydes ikke kurser på 4. semester, for her skal du bruge hele tiden på dit kandidatspeciale. Det kan laves i grupper eller alene, hvis man ønsker det. Når du er færdig med 4. semester, er du cand.polyt. (civilingeniør) i Software. 

Projektmodul

Eksempler på specialer i software

  • Detection of Web Application Vulnerabilities
  • The potential for pervasive computing to change people’s cooking and eating habits
  • Home Automation Systems Integration
  • Behaviour-Based Fuzzy Logic for World of Warcraft
  • Developing a low-cost driving simulator and the physical components effect on validity
  • Emptio - A mobile phone application for selfservice shopping in Harald Nyborg


 

Læs mere om uddannelsen

Gruppe- og projektarbejde

Gruppe- og projektarbejde

Gruppe- og projektarbejdet på Aalborg Universitet giver dig mulighed for at få en spændende og lærerig studietid både fagligt og socialt.
 

Læs mere om gruppe- og projektarbejde