AAU logo

Software

Fagligt indhold

Fagligt indhold

På bacheloruddannelsen i software kommer du til at arbejde med programmering fra idé til færdig software, og du får mulighed for at udvikle et programmeringssprog og en oversætter hertil. Du kommer også til at arbejde med store og komplekse applikationer og databaser, og som en del af en projektgruppe kommer du til at udvikle forskellige dele til et komplet kørende system. Endvidere kan du glæde dig til at få næsen i systemintegration og netværksadministration, hvor der typisk arbejdes med platforme som Linux og Windows. Under hele forløbet har du mulighed for at arbejde sammen med en eller flere af de mange virksomheder, som viser stor interesse for at arbejde sammen med softwareingeniørstuderende om konkrete problemstillinger.

Se studieordningen for bacheloruddannelsen i software. Her kan du finde detaljer om kurser og projekter samt information om uddannelsens lovhjemmel mm.

det lille overblik

Nedenfor kan du se det såkaldte fagbarometer, som viser uddannelsens grad af fokus på forskellige områder. Brug det gerne til at sammenligne it-uddannelserne på Aalborg Universitet.

 

  • Brug og design; analyse af brugsmønstre, dialog med brugere med henblik på indretning og design af it-systemer, fx brugergrænseflader, medieformidlet kommunikation, æstetik, formidling mm.
  • Elektronik og systemer; analyse, design og konstruktion af analoge og digitale elektroniske kredsløb og systemer.
  • Software og data; analyse, design og implementering (programmering) af softwaresystemer samt teorier og algoritmer til analyse og behandling af data.
  • Organisation og marked; virksomhedsdrift, ‐kommunikation, ‐forståelse og -etablering samt økonomi, ledelse, jura, innovation, markedsanalyse, marketing mm.

1. semester; Fra eksisterende software til modeller

På første studieår er der særligt fokus på at lære dig at arbejde med problemorienteret projektarbejde i en gruppe, sådan som man gør på Aalborg Universitet. På 1. semester er der to projekter: et helt kort P0-projekt, der er en første smagsprøve på hvad projektarbejde er på et universitet og det noget længere P1-projekt. I P1-projektet skal du arbejde yderligere med problemanalyse, problemformulering og hvordan konstruktion af programmer indgår i løsning af problemet.

Projekteksempler på 1. semester

  • 3D-printning: Udbredelse af 3D-print
  • Anonymitet på internettet
  • Fysisk digitalt legetøj

I kurserne på 1. semester bliver du introduceret til de grundlæggende fag inden for software såsom lineær algebra og imperativ programmering, som betyder, at man her beskriver for computeren – trin for trin – hvad den skal foretage sig. Desuden får du et kursus, som understøtter projektarbejderne og som giver dig yderligere indsigt i principperne bag AAU’s læringsform.

2. semester; Programmering og problemløsning

På 2. semester fokuserer projektarbejdet på programmering og modeldannelse i forbindelse med problemløsning. Gennem projektarbejdet skal du og dine medstuderende opnå et fælles fundament i programmering, der kan udnyttes på de efterfølgende semestre. Målet er, at du bliver i stand til at konstruere et velstruktureret program med hovedvægt på gode programstrukturer og velgennemtænkt anvendelse af algoritmer. Programmet skal udarbejdes i et objektorienteret programmeringssprog (typisk er det sproget C#). Matematikkurset på dette semester er et kursus i diskret matematik, som er et af de områder af matematik, som er særligt vigtige inden for datalogi, bl.a. inden for analyse af algoritmer.

Projekteksempler på 2. semester

  • Social Network Simulator
  • Digital Fysioterapeutisk Genoptræning
  • En Personlig Sundhedsassistent

I kurserne på 2. semester skal du desuden arbejde med kørende programmer, instruktionssæt, mikrokoder, køretids miljøer og digitale kredsløb, og du kommer til at lære om objektorienteret programmering. Idéen bag objektorienteret programmering er at opdele programkoden i klasser, der har hver sit velafgrænsede ansvarsområde i programmet. Hvis man programmerer alting i samme klasse, vil man, hvis noget skulle vise sig at gå i stykker, være nødt til at omprogrammere hele programmet for at reparere det. Hvis man derimod bruger objektorienteret programmering, vil man kun være nødt til at omprogrammere den ene ting, der er gået i stykker og ikke hele programmet.

1. + 2. semester kører i fællesskab med 1. + 2. semester af Datalogiuddannelsen. Det betyder, at du har mulighed for efter 2. semester at skifte retning omkostningsfrit. 

3. semester; Udvikling af applikationer

3. semester har temaet "Udvikling af applikationer". Her skal du udvikle software, og du skal lære at analysere arbejdsfunktioner med henblik på at identificere krav til et it-system. På basis af dette designer du sammen med din gruppe et system, som I implementerer og tester i et moderne objektorienteret programmeringssprog. Semestret er baseret på programmeringssproget C#.

Projekterne på 3. semester beskæftiger sig typisk med analyse, design, programmering og test af administrative it-systemer. Det kan fx være bibliotekssystemer, turneringsplanlægningssystemer til sportsklubber eller systemer, som understøtter konkrete forretningsbehov i små og mellemstore virksomheder.

Projekteksempler på 3. semester

  • Social media library
  • Flyselskabs reservationssystem
  • Skak computer

I kurserne på 3. semester skal du arbejde med bl.a. objektorienteret modellering, modellering med mønstre, systemudviklingsmetoder og -praksis, menneske-maskine interaktion, interaktionsdesign, brugerkontekst og brugere, design af grænseflader, usabilityevaluering mm.

4. semester; Design, definition og implementering af programmeringssprog

På 4. semester skal du "bag kulisserne" og lære, hvordan programmerne bliver udført på en computer og hvad principperne er i de mest udbredte programmeringssprog. Projektet handler om at udvikle og implementere sit eget programmeringssprog eller operativsystem. Det typiske projekt på 4. semester udvikler og implementerer et programmeringssprog til et bestemt formål, fx scripting, spiludvikling eller udformning af grafiske brugergrænseflader.

Projekteksempler på 4. semester

  • BoLa - Board Game Language
  • Designing a Language for Home Automation Systems
  • SPLAD - Simple Programming Language for Arduino Drinks-mixer

I kurserne skal du lære om programmeringssprogsteori, semantik (den matematiske teori for programmers adfærd) og om principperne bag operativsystemer, bl.a. parallel programmering og hukommelseshåndtering.

5. semester; Indlejrede systemer

Et indlejret system er et elektronisk system med en computer, som ikke er en traditionel pc, og de findes i stort set alt elektronisk udstyr i dag, fx mobiltelefoner, tv, alarmsystemer, radioer, opvaskemaskiner mm. Således styres og reguleres tekniske anlæg og apparater som hovedregel af programmer, der er indlejret i dem. Indlejrede systemer er således en helt essentiel del af arbejdet som softwareingeniør, og derfor skal du som studerende i software i dit 5. semesterprojekt lære at udvikle indlejrede systemer.

Projekteksempler på 5. semester

  • CleanBot
  • Lego Projectile Launcher
  • Warehouse Robot

I kurserne kan du bl.a. komme til at arbejde med maskinintelligens, som du kan læse mere om på side xx. Desuden kan du vælge et kursus om tidstro software (altså processer, der forløber i realtid), og du skal lære om procesmodeller, kravstyring, design, projektledelse, test, procesforbedring inden for førende programmeringsparadigmer mm.

Projekteksempel med selvbalancerende Lego Mindstorms-robot fra 5. semester software:

 

6. semester; Bachelorprojekt

På 6. og sidste semester af bacheloruddannelsen i software udarbejder du dit bachelorprojekt, hvilket som regel også foregår i en gruppe. Temaet er ”Udvikling af komplekse softwaresystemer”. Disse udvikles som oftest i et større udviklingsmiljø, hvor delprojekter skal koordineres til en fælles løsning. Fokus for 6. semesters projektarbejde er derfor, at du lærer at analysere organisatoriske omgivelser, samt at designe og implementere en applikation, som understøtter eller automatiserer en del heraf. Du skal desuden i dit projektarbejde demonstrere, at du kan analysere, designe, programmere og afprøve en applikation, herunder både integration med database og brugergrænseflade.

Eksempler på bachelorprojekter

  • Cars : Udvikling af Komplexe Software Systemer
  • Interaktiv Læringsøvelse for Børn Med Autisme: Et togspil
  • uBuy – An Online Auctioning Web Site Multi-Project in Django
  • Croc - En Android app til pictogram konstruktion
  • E-Learning Mangement System : Implementing Customisable Schedules
  • Constructing a Company Network Infrastructure

På 6. semester er der, som på 5., to obligatoriske og to valgfri kurser. I de obligatoriske kurser skal du lære om logisk design af relationelle databaser, fysisk databasedesign samt distribuerede databaser. Desuden vil du blive undervist i videnskabsteori, hvor du lærer om videnskabernes metoder, sandhedskriterier og forudsætninger. I det valgfri kursus ”Avancerede algoritmer” skal du bl.a. arbejde med algoritmedesignteknikker og -analyse, og du skal lære at udvikle effektive algoritmer og datastrukturer. Kurset ”Semantik og verifikation” handler om matematiske modeller til beskrivelse og verifikation af programmer, softwaresystemer og programmeringssprog med fokus på parallelle og kommunikerende systemer.

Når du har færdiggjort dit bachelorprojekt, er du bachelor i Software og således har du mulighed for at læse videre og blive civilingeniør. Se mere om dine muligheder for overbygningsuddannelser her.

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