English   Danish

2022/2023  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
  • Jacob Nørbjerg - Institut for Digitalisering
Primære fagområder
  • Informationsteknologi/Information technology
Undervisningsformer
  • Blended learning
Sidst opdateret den 24-08-2023

Relevante links

Læringsmål
For at opnå karakteren 12 skal den studerende, med ingen eller få uvæsentlige mangler eller fejl, opfylde følgende læringsmål:
  • a) redegøre for og konstruere udvalgte delprodukter, der fremstilles i et systemudviklingsforløb
  • b) redegøre for grundlæggende begreber inden for programmering
  • c) anvende et programmeringssprog til at konstruere mindre applikationer
  • d) designe og implementere et simpelt brugerinterface
  • e) designe og foretage simple forespørgsler og opdateringer i en database
  • f) anvende de teknikker og værktøjer, der er introduceret i faget til analyse, design, konstruktion, test og dokumentation af løsningen på et problem gennem udvikling af et mindre program
  • g) 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 opgave (max. fem sider)
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 online quiz
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 samt minimumkrav til applikationen bliver yderligere specificeret ved semester start.

 

Læringsmålene for denne delprøve er: a, b, c, d, f og g.

 

Programmering og udvikling af små systemer samt databaser:
Delprøvens vægt25%
PrøveformSkriftlig stedprøve på CBS' computere
Individuel eller gruppeprøveIndividuel prøve
OpgavetypeOpgavebesvarelse
Varighed4 timer
Bedømmelsesform7-trins-skala
Bedømmer(e)Eksaminator og bi-eksaminator
EksamensperiodeVinter
HjælpemidlerMed visse hjælpemidler, se nedenfor:
Den studerende må medbringe
  • USB-stik til upload af noter, bøger og kompendier i ikke-eksekverbare formater (ingen programstumper, værktøj, installérbare programmer o. lign.)
  • Lommeregner efter eget valg
  • I papirformat: Bøger (herunder oversættelsesordbøger), kompendier og noter
Den studerende har adgang til
  • Udvidet IT-pakke
Læs nærmere her : Hjælpemidler og IT-pakker
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: a, b, c, d, f og g.

 

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, jf. også studieordningens regler om prøveformer.
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 øvelsestimer kunne få hjælp hvis der måtte være behov for dette. 

 

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

 

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å databasemodellering. 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:

 - Introduktion til programmering - Skriv dine egne programmer

 - Introduktion til HTTP protokol og API’er

 - Projektudførsel: Den proces, der fører fra idé til fremstillingen af et endeligt produkt med et særligt fokus på - modellering af klasser.

 - Introduktion til databasemodellering, databasekald samt optimering af databaser.

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 fokuserer på at udvide de studerendes kompetencer indenfor programmering, samt opnå højere forståelse for arbejdet med objektorienteret programmering samt anvendelse af et front-end framework.

 

Følgende emner behandles:

 - Udarbejdelse af en applikation opdelt i three-tier modellen med frontend, backend og database. 

 - Objektorienteret programmering: Centrale begreber og principper indenfor objektorienteret programmering.

 - Metoder (Objektorienteret Analyse og Design): Sammenhængen mellem produkter, der fremstilles i et systemudviklingsforløb (UML-diagrammer ol.) og programmeringsklasser.

 - Anvende front-end framework til at manipulere effektivt med DOM’en for at skabe responsive applikationer

 

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. Dette vil foregå i en gruppe for at give de studerende et indblik i hvordan det er at løse datalogiske problemstillinger som et hold.

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 gennem konfrontationstimer med instruktore.

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 fysiske. De studerende vil løbende have mulighed for at udarbejde en masse små opgaver, som vil have forbindelse til deres eksamensprojekt.

De studerende har ved fysiske konfrontationstimer mulighed for at få hjælp og stille spørgsmål til en række instruktorer.

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 40 timer
Øvelser 70 timer
Opgaveløsning 40 timer
Forberedelse til forelæsninger 90 timer
Semesterrapport 1 60 timer
Semesterrapport 2 88 timer
Forberedelse til skriftlig stedprøve 1. semester 16 timer
Forberedelse til mundtligt forsvar 2. semester 8 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.
  • Ben-Gan, I (2016): T-SQL Fundamentals

 

Litteratur (2. semester):

  • Matt A Weisfeld (2013): The Object-Oriented Thought Process
Sidst opdateret den 24-08-2023