English   Danish

2020/2021  BA-BINTO1064U  Programmering og udvikling af små systemer og databaser

English Title
Programming and Development of Smaller Systems and Databases

Kursusinformation

Sprog Dansk
Kursets ECTS 15 ECTS
Type Obligatorisk
Niveau Bachelor
Varighed To semestre
Starttidspunkt Efterår, Forår
Tidspunkt Skemaet bliver offentliggjort på calendar.cbs.dk
Studienævn
Studienævnet for HA/cand.merc. i erhvervsøkonomi og informationsteknologi, BSc
Kursusansvarlig
  • Henrik Thorn - DRIFT
Primære fagområder
  • Informationsteknologi/Information technology
Undervisningsformer
  • Blended learning
Sidst opdateret den 11-12-2020

Relevante links

Læringsmål
  • redegøre for og konstruere udvalgte delprodukter, der fremstilles i et objektorienteret systemudviklingsforløb
  • redegøre for grundlæggende begreber inden for programmering
  • anvende et objektorienteret programmeringssprog til at konstruere mindre applikationer
  • designe og implementere et simpelt brugerinterface
  • designe og foretage simple forespørgsler og opdateringer i en database
  • anvende de teknikker og værktøjer, der er introduceret i faget, til at analysere og løse et komplekst problem gennem udvikling af et mindre administrativt program (analyse, design, konstruktion, test og dokumentation)
  • reflektere over valgte implementeringer, samt optimeringer heraf.
Forudsætninger for indstilling til prøven (aktiviteter i undervisningsperioden)
Antal obligatoriske aktiviteter der skal godkendes (se § 13 i studieordningen): 5
Obligatoriske hjemmeopgaver
Den studerende skal have godkendt fem ud af otte opgaver for at kunne deltage i den afsluttende sommereksamen.

Opgave 1 - Individuel opgave (max. fem sider)
Opgave 2 - Individuel online quiz
Opgave 3 - Individuel opgave (max. fem sider)
Opgave 4 - Individuel online quiz
Opgave 5 - Individuel opgave (max. fem sider)
Opgave 6 - Individuel opgave (max. fem sider)
Opgave 7 - Individuel (max. fem sider)
Opgave 8 - Individuel online quiz


Den studerende skal have godkendt fem aktiviteter for at kunne deltage i eksamen.

Der vil ikke blive givet flere forsøg inden den ordinære eksamen.

Såfremt en studerende har været forhindret i at deltage i de obligatoriske aktiviteter som følge af dokumenteret sygdom, eller hvis en studerende ikke har bestået aktiviteten på trods af, at den studerende har gjort et reelt forsøg, vil der blive stillet en ekstra opgave inden syge-/omprøven. Det ekstra forsøg er en hjemmeopgave, der svarer til fem godkendelses-opgaver (max. 20 sider i fagets pensum).
Prøve/delprøver
Prøven i faget består af tre delprøver:
Programmering og udvikling af små systemer samt databaser:
Delprøvens vægt25%
PrøveformSkriftligt produkt udarbejdet hjemme
Individuel eller gruppeprøveIndividuel prøve
Omfang af skriftligt produktMax. 30 sider
Projektrapporten skal have et omfang på maks 30 normalsider, jf. § 19, stk. 4, i studieordningen. Der kan vedlægges maks 15 normalsiders bilag.
OpgavetypeRapport
VarighedSkriftligt produkt afleveres på en fastsat dato og tidspunkt.
Bedømmelsesform7-trins-skala
Bedømmer(e)Eksaminator og bi-eksaminator
EksamensperiodeVinter
Syge-/omprøve
Samme prøveform som ved ordinær prøve
Ved sygeprøve afleveres en ny rapport, og ved omprøve afleveres rapporten i omarbejdet form.
Beskrivelse af eksamensforløbet

Den skriftlige rapport udarbejdes individuelt og omhandler den udviklede applikation, som den studerende har arbejdet med som en del af faget. 

 

Applikationen er skrevet som et objektorienteret system der følger MVC-modellen, som den studerende selv fastsætter kravene for. 

 

Rapportens indhold bliver yderligere specificeret i en opgavebeskrivelse, ligesom minimumkrav til applikationen vil fremgå. 

Programmering og udvikling af små systemer samt databaser:
Delprøvens vægt25%
PrøveformSkriftligt produkt udarbejdet hjemme
Individuel eller gruppeprøveIndividuel prøve
Omfang af skriftligt produktSe nedenfor
Det skriftlige produkt udarbejdes i løbet af et 3 timers interval.
OpgavetypeOpgavebesvarelse
VarighedSkriftligt produkt afleveres på en fastsat dato og tidspunkt.
Bedømmelsesform7-trins-skala
Bedømmer(e)Eksaminator og bi-eksaminator
EksamensperiodeVinter
Syge-/omprøve
Samme prøveform som ved ordinær prøve
Hvis antallet af eksaminander til omprøven tilsiger, at prøven mest hensigtsmæssigt kan afholdes som mundtlig prøve, vil sekretariatet give meddelelse om at omprøven afholdes som mundtlig prøve i stedet. Der vil i så fald være bi-eksaminator, medmindre prøven er ekstern.
Beskrivelse af eksamensforløbet

Læringsmålene for denne delprøve er alle læringsmål på nær: 

- designe og foretage simple forespørgsler og opdateringer i en database

Programmering og udvikling af små systemer samt databaser:
Delprøvens vægt50%
PrøveformMundtlig prøve på baggrund af skriftligt produkt

Det er en forudsætning for at deltage i den mundtlige prøve, at det skriftlige produkt er afleveret inden afholdelse af prøven; inden for fastsat frist. Karakteren gives på baggrund af en helhedsbedømmelse af det skriftlige produkt og den individuelle mundtlige præstation.
Individuel eller gruppeprøveIndividuel mundtlig prøve på baggrund af gruppeopgave
Antal personer i gruppen2-4
Omfang af skriftligt produktMax. 30 sider
Projektrapporten skal have et omfang på maks 30 normalsider, jf. § 19, stk. 4, i studieordningen. Der kan vedlægges maks 15 normalsiders bilag.
OpgavetypeProjektrapport
Varighed
Skriftligt produkt afleveres på en fastsat dato og tidspunkt.
20 min. pr. studerende, inkl. votering, karaktergivning og begrundelse
Bedømmelsesform7-trins-skala
Bedømmer(e)Eksaminator og bi-eksaminator
EksamensperiodeSommer
Syge-/omprøve
Samme prøveform som ved ordinær prøve
Den studerende vælger selv om han/hun vil genaflevere samme rapport, aflevere en omarbejdet rapport eller aflevere en helt ny rapport
Beskrivelse af eksamensforløbet

Projektet afsluttes med en mundtlig individuel eksamen, hvor der tages udgangspunkt i den afleverede rapport og den udviklede applikation. Der eksamineres i hele pensum.

 

Læringsmålene for denne delprøve er alle læringsmål i faget, uden undtagelse. 

Kursets indhold, forløb og pædagogik

Faget gennemgår teknikker til programudvikling af mindre informationssystemer. Formålet med undervisningen er at give den studerende en grundlæggende forståelse for udvikling af programmer med grafiske brugergrænseflader og tilknyttede databaser. Kurset er inddelt i 2 semestermoduler: Programudvikling I (1. semester) og Programudvikling II (2. semester).

 

I løbet af begge semestre vil de studerende møde en lang række små opgaver, som de på frivillig basis vil kunne løse og aflevere. De vil til seminarer kunne modtage feedback på deres opgaver, samt få hjælp hvis der måtte være behov for dette. Anden undervisning vil blive udført online i en lang række mindre forelæsninger, som både vil indeholde teori og praktiske eksempler på konkret problemløsning. 

 

De studerende vil møde en række godkendelsesopgaver, som sikrer progression for den enkelte studerende. 

 

Programudvikling I (1. semester):

Kurset giver en basisviden om emner, der er relevante i forbindelse med udvikling af IT-systemer med speciel vægt på objektorienterede programmeringsprincipper. Udgangspunktet er en tværfaglig tilgang til IT, der understøttes af en praksisorienteret undervisningsform, der indebærer, at teoretiske emner og teknologiske begreber løbende bliver holdt op imod konkrete og praktiske eksempler, som den studerende selv arbejder med. 

 

Følgende emner behandles:
 - Projektudførsel: Den proces, der fører fra idé til fremstillingen af et endeligt produkt med et særligt fokus på - modellering af klasser.
 - Metoder (Objektorienteret Analyse og Design): Sammenhængen mellem produkter, der fremstilles i et systemudviklingsforløb (UML-diagrammer ol.) og programmeringsklasser.
 - Objektorienteret programmering: Centrale begreber og principper indenfor objektorienteret programmering.
 - Introduktion til databasetyper, samt persistering af data i en no-sql database. 

 

Sideløbende med undervisningen arbejdes med et obligatorisk eksamensprojekt, der indgår i kursets bedømmelse under projektrapport. Dertil kommer en skriftlig stedprøve.

 

Formålet med eksamensprojektet er at give de studerende erfaring med datalogisk problemløsning – dvs. arbejde med emner, der er relevante, når der skal udvikles fra idé til kørende program. Datalogisk problemløsning vil foregå individuelt for at sikre, at den enkelte studerende opnår kompetencer indenfor programmering. Formålet med den skriftlige stedprøve er at sikre, at den studerendes basisviden om objektorienteret programmering er i orden.


Programudvikling II (2. semester):

Kurset fokusere på at udvide de studerendes kompetencer indenfor programmering, samt opnå højere forståelse for arbejdet med relationelle databaser og modellering af databaser. 

 

Følgende emner behandles:
 - Udarbejdelse af en applikation opdelt i three-tier modellen med frontend, backend og database. 
 - Databasemodellering, databasekald og optimering af databaser.

 

Formålet med eksamensprojektet er at give de studerende erfaring med datalogisk problemløsning – dvs. arbejde med emner, der er relevante, når der skal udvikles fra idé til kørende program. Datalogisk problemløsning vil foregå i grupper for at sikre. 

Beskrivelse af undervisningsformer
Der veksles mellem teorigennemgang og praktiske øvelser. En udviklingsplatform introduceres, og der udarbejdes programmer i et objektorienteret programmeringssprog.

De præsenterede teorier og metoder skal afprøves i praksis. Derfor stilles der i løbet af semestret mindre opgaver, som de studerende har mulighed for at løse i forbindelse med kurset. De studerende kan modtage feedback på deres opgaver til fagets seminarer.

De studerende arbejder endvidere i det meste af semestret med et mindre projekt. Kursets emner gennemgås i en rækkefølge, så deres relevans demonstreres (fra idé til produkt). Objektorienteret analyse og design præsenteres, og det demonstreres, hvordan en designmodel kan mappes over i et program. Endvidere evaluerer de studerende hinandens arbejde ved brug af codereviews.

Forelæsninger og øvelser er online og faget bygges op til at køre asynkront. Det betyder, at de studerende kan følge faget uafhængigt af hinanden og tidsforskudt. De studerende vil løbende have mulighed for at udarbejde en masse små opgaver, som vil have forbindelse til deres eksamensprojekt. Vejledende løsninger på disse opgaver vil blive gjort tilgængelig i løbet af semestret.

De studerende har ved fysiske seminarer mulighed for at få hjælp og stille spørgsmål til en række instruktorer. Timerne skal ses som spørgetimer, hvorfor der ikke vil være forberedt præsentationer fra instruktorerne.

Hertil kommer en række godkendelsesopgaver, som vil forberede den studerende på den fire timers skriftlige eksamen, samt sikrer den nødvendige progression i faget for den enkelte studerende.
Feedback i undervisningen
De studerende kan udbede sig feedback på deres godkendelsesopgaver, hvilket vil ske ved fysisk fremmøde på afsatte tidspunkter.

Online quiz vil blive gennemgået i undervisningen med henblik på at forberede de studerende på den skriftlige stedprøve.

Seminarer hvor de ugentlige opgaver kan evalueres sammen instruktorer.

Seminarer hvor de studerende har mulighed for at få feedback på deres projekter, samt vejledning heraf.

Individuel vejledning, hvor de studerende i Bitlab får feedback på deres arbejde.

Afholdelse af reviews, hvor de studerende review’er hinandens arbejde.

Feedback efter obligatoriske aktiviteter og opgaver.

Skriftlig projektrapport (efter 1. semester – i form af en karakter, samt mundtlig feedback på rapporten og karakter).

Individuel skriftlig stedprøve (efter 1. semester – i form af en karakter).

Mundtlig prøve (efter 2. semester – i form af mundtlig feedback på karakter).
Studenterarbejdstimer
Forelæsning 34 timer
Øvelser 26 timer
Seminarer 58 timer
Forberedelse til forelæsninger 68 timer
Semesterrapport 1 60 timer
Semesterrapport 2 92 timer
Forberedelse til skriftlig stedprøve 1. semester 16 timer
Forberedelse til mundtligt forsvar 2. semester 8 timer
Opgaveløsning 50 timer
Total: 412 timer
Foreløbig litteratur

De studerende kan finde den endelige litteraturliste på Canvas inden semesteret starter

 

Litteratur (1. semester):

  • Haverbeke, Marijn (2011). Eloquent JavaScript.
  • Lim, Greg (2019). Beginning Node.js, Express & MongoDB Development

 

Litteratur (2. semester):

 

  • Beaulieu, Alan (2009). Learning SQL, 2nd Edition.
Sidst opdateret den 11-12-2020