Programmering og Database / Programming and Database

Mærsk Mc-Kinney Møller Instituttet, Odense
Undervisningsaktivitetsnr.: SI2-PDB-U1.
Undervisningssprog: Dansk.ECTS / belastning: 10 ECTS / 0.167 årsværk.
Periode: Forårssemestret 2018.Godkendt: 23-10-17.
Udbydes i: Odense.

Fagansvarlig:
Uddannelseskoordinator Kasper Hallenborg, Mærsk Mc-Kinney Møller Instituttet.

Forudsætninger:
Det anbefales, at alle moduler på 1. semester er bestået.


Indhold:
Modulet omfatter faglighederne

  • VOP Videregående objektorienteret programmering
  • DB Databasedesign og -programmering

VOP Videregående objektorienteret programmering
Fagligheden giver den studerende videregående indsigt i sprogbegreber og teknikker indenfor objektorienteret programmering. VOP omfatter samspillet mellem begreber og teknikker i objektorienteret programmering, fx kobling, sammenhæng, arv, interfaces, polymorfi, aggregering, relationer; File- og object-streams, serialisering af data, samt behandling og analyse af exceptions; simple datastrukturer; basal notation og ræsonnement omkring programmers køretid; søgning og sortering; begreber indenfor flertrådet programmering; anvendelse af forskellige slags datastrukturer, samt implementering af udvalgte; GUI: Komponenter, layout, eventhåndtering; Unit-test og relaterede teknikker til test af programmer. Desuden introduktion til andre sproglige paradigmer, fx funktionelle og logiske programmeringssprog samt mark-up sprog, fx. XML og HTML.

DB Databasedesign og -programmering
Fagligheden giver de studerende teoretisk indsigt og praktisk erfaring i at anvende, designe og implementere en relationel database. Fagligheden giver den studerende indsigt i følgende faglige hovedområder:

  • Relationelle databaser
  • Databasedesign (konceptuel datamodellering, normalformer)
  • Relationel algebra
  • SQL
  • Integration af SQL i programmeringssprog
  • Basal diskstruktur
  • Indexer og implementationer heraf (hash-baserede, træ-baserede)


Målbeskrivelse:
VOP Videregående objektorienteret programmering
Viden:
Den studerende kan:
  • beskrive simple rerursive algoritmer
  • beskrive oprettelse og start af tråde i flertrådede programmer
  • beskrive værktøjer til opbygning af avancerede GUI-elementer
  • forklare og analysere exceptions

Færdigheder:
Den studerende kan:
  • sammenligne forskellige byte-streams og character-streams med henblilk på at træffe kvalificerede valg af file- og object-streams
  • forklare og anvende polymorfi i forbindelse med implementering af interfaces og arv fra abstrakte og ikke-abstrakte klasser
  • beskrive og anvende simple abstrakte datastrukturer (Linket Liste, Binært Træ, Stak og FiFo kø)
  • beskrive og anvende Java Collection Framework (List, Set og Map samt implementering af disse)
  • anvende og sammenligne simple søgnings- og sorteringsalgoritmer
  • beskrive og benytte unit-test på egne klasser
  • identificere programmer i programmeringssprog fra andre sproglige paradigmer end det objektorienterede
  • implementere objektorienterede programmer ud fra designspecifikation

DB Databasedesign og -programmering
Viden:
Den studerende kan:
  • Beskrive et udført arbejde omhandlende ovenstående punker i et klart og præcist sprog, og på en struktureret måde
  • Træffe og begrunde fagligt relaterede beslutninger
  • Beskrive, formulere og formidle problemstillinger og resultater til enten fagfæller og ikke-specialister eller samarbejdspartnere og brugere

Færdigheder:
Den studerende kan:
  • Designe en passende konceptuel model for en database ud fra en problembeskrivelse.
  • Transformere en konceptuel model for en database til en passende relationel model
  • Opskrive SQL udtryk for forespørgsler på en relationel database
  • Optimere en relationel database gennem valg af indekser, brug af ækvivalente SQL udtryk, samt brug af teorien for normalformer
  • Tilgå en database fra et applikationsprogram

Undervisningstidspunkt:
Forår

Undervisningstimer:
VOP Videregående objektorienteret programmering
1 ugentlig undervisningslektion på 4 undervisningstimer i 12 uger = 48 undervisningstimer

DB Databasedesign og - programmering
Vejledende timetal:
Fagligheden undervises på naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Introfase: 22 timer
Træningsfase: 20 timer, heraf:
- Eksaminatorie: 20 timer

Undervisningsform:

VOP Videregående objektorienteret programmering
Detaljeret beskrivelse af undervisningsformen fremgår af semesterplan og modulplan. Fagligheden indeholder tællende aktiviteter, som udgør 30 % af den samlede eksamenskarakter. Tilrettelæggelsen af disse fremgår af semesterplanen.

DB Databasedesign og - programmering
I introfasen introduceres og perspektiveres begreber, teorier og modeller. I træningsfasen træner de studerende færdigheder og trænger dybere ned i det stof.
I studiefasen får de studerende faglige, personlige og sociale erfaringer, der sætter dem i stand til at befæste og videreudvikle deres videnskabelige kompetencer. Der er fokus på fordybelse, forståelse og udvikling af samarbejdskompetencer.


Eksamensbetingelser:
DB Databasedesign og - programmering
Følgende er en betingelse for at kunne gå til eksamen:
Forudsætningsprøve:
  • Projektopgaver er en forudsætning for deltagelse i eksamenselement. Bestået/ikke-bestået, intern censur ved underviser.

Prøveform:
VOP Videregående objektorienteret programmering indeholder tællende aktiviteter, som udgør 30 % af fagligheden VOP

Eksamen er en ekstern prøve bedømt med én samlet karakter efter 7-trinsskalaen baseret på en helhedsvurdering af:

  • Skriftlig 4 timers prøve i VOP Videregående objektorienteret programmering

  • Skriftlig 24-timers take-home opgave i DB Databasedesign og - programmering

Kommentar:
ECTS/belastning fordelt på fagligheder:
DB Databasedesign og - programmering: 5 ECTS
VOP Videregående objektorienteret programmering: 5 ECTS

DB Databasedesign og - programmering er samlæst med med DM505 på Det Naturvidenskabelige Fakultet.

Bemærkning kun til administrativt brug: F-protokol

Studier:
Teknisk-videnskabelig bachelor i Software Engineering
2. semester, obligatorisk. Udbydes i: Odense
Diplomingeniør i Softwareteknologi
2. semester, obligatorisk. Udbydes i: Odense