DM874: Microservices og DevOps

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N340046112, N340046102
Censur: Intern prøve, en bedømmer, Ekstern prøve
Bedømmelse: Bestået/Ikke bestået, 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Efterår
Niveau: Kandidat

STADS ID (UVA): N340046101
ECTS-point: 10

Godkendelsesdato: 25-03-2019


Varighed: 1 semester

Version: Arkiv

Kommentar

NEDLÆGGES - udbudt sidste gang E20. T

Kurset er identisk med tidligere kursus med titlen DM848 (UVA N340015101). Dette betyder, at hvis du tidligere har aflagt eksamensforsøg i DM848 vil disse forsøg automatisk blive overført til dette nye kursus.

Indgangskrav

Kurset kan ikke følges af studerende, der har bestået hele DM848.

Stoffet fra DM550 Introduktion til programmering, DM563 Concurrent Programming, DM510 Operativsystemer, DM557 Netværk og Sikkerhed skal være kendt.  

Faglige forudsætninger

Studerende, der følger kurset, forventes at 

  • have kendskab til grundlæggende molekylærbiologiske begreber og biokemiske processer
  • kunne anvende naturvidenskabelig metode til at gennemføre eksperimentelle undersøgelser
  • kunne anvende simple statistiske eller sandsynlighedsteoretiske modeller til beskrivelse og analyse af et givet datamateriale
  • kunne anvende udvalgte fysiske modeller og forklare modellernes forudsætninger og egenskaber til opsamling og beregning af data

Almene studiekompetencer:

Kurset forudsætter aktiv deltagelse og kendskab til dialogbaserede forelæsninger.

I kurset vil indgå en udstrakt anvendelse af funktioner i SDU’s e-læringssystem herunder wiki og blog. Deltagelse i kurset forudsætter derfor, at den studerende behersker disse funktioner.

Evt. kan der tilføjes links, hvor den studerende kan vurdere egne forudsætninger via en test, eller kan opdatere sin viden.

Eksempler på almene (fagoverskridende) studiekompetencer:

  • har kendskab til laboratoriesikkerhed
  • har kendskab til kvantitative og kvalitative metoder til dataproduktion
  • kan samarbejde i forskellige læringssituationer
  • kan søge informationer om faglige emner i relevante databaser
  • kan vurdere relevansen og pålideligheden af den fundne information
  • er fortrolig med SDUs digitale læringsplatform og kan benytte digitale værktøjer til faglig produktion, vidensdeling og faglig præsentation


Formål

Kurset introducerer nuværende praksis inden for Microservices og DevOps i forbindelse med udvikling af et komplekst distribueret system, der kan skalere op til millioner af brugere.

Microservice programmering er et paradigme, hvor software bygges ved at kombinere distribuerede tjenester. For at forbinde software Development (Dev) med software Operations (Ops) til et microservice-system anvendes DevOps-tilgangen. DevOps taler stærkt for automatisering og overvågning i alle faser af softwareopbygning, fra integration, test og frigivelse til idriftsættelse og infrastruktur-håndtering.

Kurset dækker nyeste forskning og teknologier inden for programmering af microservices ved hjælp af DevOps-teknikker. Det giver en sammenhængende forståelse af fordele og ulemper ved at anvende microservices og DevOps til at udvikle fremtidens komplekse distribuerede applikationer.

Kurset bygger på den viden, der er opnået i kurserne DM550 Introduktion til programmering, DM563 Concurrent Programming, DM510 Operativsystemer og DM557 Netværk og Sikkerhed. Det giver et fagligt grundlag for valg af kurser eller projekter i programmeringssprog senere i uddannelsen.

I forhold til uddannelsens læringsresultater har kurset et eksplicit fokus på at:

  • udvikle færdigheder i programmering af skalerbare systemer baseret på message passing
  • udvikle færdigheder i at analysere fordele og ulemper ved forskellige tilgange til skalerbarhed
  • udvikle færdigheder i at tage og begrunde professionelle beslutninger
  • at give kompetence til at identificere ens eget behov for at lære og strukturere sin egen læring i forskellige læringsmiljøer

Målbeskrivelse

Kursets læringsmål er, at den studerende demonstrerer evnen til at:

  • detektere og beskrive de vigtigste egenskaber og strukturer i MicroSystems og DevOps pipelines
  • udvikle simple microservice-systemer ved hjælp af en DevOps pipeline
  • løs ikke-trivielle programmeringsopgaver i et distribueret miljø
  • estimere mulige sprog- eller værktøjsrelaterede faldgruber til distribuerede message passing systemer

Indhold

Følgende hovedemner er indeholdt i kurset:

  • Microservice Programmering og sprog
  • DevOps Pipeline og værktøjer
  • Løbende Integration og Idriftsættelse
  • Moderne Software Engineering tilgang til at bygge skalerbart

Litteratur

Se BlackBoard for pensumlister og yderligere litteraturhenvisninger.

Eksamensbestemmelser

Forudsætningsprøve a)

Tidsmæssig placering

Efterår

Udprøvninger

Præsentation og Peer Feedback

EKA

N340046112

Censur

Intern prøve, en bedømmer

Bedømmelse

Bestået/Ikke bestået

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Hjælpemidler

Oplyses på kurset

ECTS-point

0

Uddybende information

Præsentation relateret til en mængde DevOps-værktøjer eller en videnskabelig artikel, som er relevant for kurset. Peer feedback til de fleste af de andre studerendes præsentationer.

Forudsætningsprøven er en forudsætning for deltagelse i eksamenselement a)


Eksamenselement a)

Tidsmæssig placering

Januar

Forudsætninger

Type Forudsætningsnavn Forudsætningsfag
Forudsætning ikke fundet

Udprøvninger

Projekt

EKA

N340046102

Censur

Ekstern prøve

Bedømmelse

7-trinsskala

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Hjælpemidler

Oplyses på kurset

ECTS-point

10

Uddybende information

Det afsluttende projekt kan enten være et software-projekt (inklusive kode og en skriftlig rapport) eller en skriftlig rapport om aspekter af microservices og DevOps med en mundtlig eller skriftlig diskussion.
Projektformen fastlægges af underviser ved kursets start og er ens for alle studerende der følger kurset i samme semester.

Vejledende antal undervisningstimer

60 timer per semester

Undervisningsform

På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.

  • Introfase (forelæsning, holdtimer) - Antal timer: 30
  • træningsfase: Antal timer: 30, heraf eksaminatorier 30 timer

Aktiviteter i studiefasen: Programmering og små projekter.

Se engelsk version for yderligere.

Ansvarlig underviser

Navn E-mail Institut
Jacopo Mauro mauro@imada.sdu.dk Concurrency

Skemaoplysninger

Administrationsenhed

Institut for Matematik og Datalogi (datalogi)

Team hos Uddannelsesjura & Registratur

NAT

Udbudssteder

Odense

Anbefalede studieforløb

Profil Uddannelse Semester Udbuds periode