DM885:Microservices og Dev(Sec)Ops

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N340101112, N340101102
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): N340101101
ECTS-point: 10

Godkendelsesdato: 17-03-2021


Varighed: 1 semester

Version: Arkiv

Kommentar

Kurset er identisk med tidligere kursus med titlen DM874. Dette betyder, at hvis du tidligere har aflagt eksamensforsøg i DM874 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 DM874.

Faglige forudsætninger

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

Formål

Kurset introducerer nuværende praksis inden for Microservices og Dev(Sec)Ops 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 cybersikkerhed (Sec) og software Operations (Ops) til et microservice-system anvendes Dev(Sec)Ops-tilgangen. Dev(Sec)Ops 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 Dev(Sec)Ops-teknikker. Det giver en sammenhængende forståelse af fordele og ulemper ved at anvende microservices og Dev(Sec)Ops 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 sikre og 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 Dev(Sec)Ops pipelines
  • udvikle simple microservice-systemer ved hjælp af en Dev(Sec)Ops 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
  • Dev(Sec)Ops 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

N340101112

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 Dev(Sec)Ops-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
Delprøve Forudsætningsprøve a) N340101101, DM885: Microservices og Dev(Sec)Ops

Udprøvninger

Projekt

EKA

N340101102

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 Dev(Sec)Ops 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.

Eksamensformen ved reeksamen kan være en anden end eksamensformen ved den ordinære eksamen.

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.Kurset indeholder forelæsninger, problemløsning og programmeringsøvelser. I forelæsningerne vil teorien blive dækket, dels via dialog med de studerende. Målet med problemløsningen er en bedre forståelse af teorien, og gennem programmering vil de studerende få erfaring med udfordringerne og fordelene ved brugen af Microservices og Dev (Sec) Ops tilgange. 

Ansvarlig underviser

Navn E-mail Institut
Jacopo Mauro mauro@imada.sdu.dk Institut for Matematik og Datalogi

Skemaoplysninger

Administrationsenhed

Institut for Matematik og Datalogi (datalogi)

Team hos Uddannelsesjura & Registratur

NAT

Udbudssteder

Odense

Anbefalede studieforløb

Profil Uddannelse Semester Udbuds periode