Hopp til hovedinnhold

Videregående programmering DAT240

Studenter skal lære å bruke programvareutviklingsmetoder som agile og prosjektledelsesverktøy i utviklingen av et større software gruppeprosjekt.  Lære om ulike programmeringsparadigmer, som objektorientert programmering, funksjonell osv.  Lære å identifisere forskjellen mellom disse paradigmene og deres begrensninger.


Dette er emnebeskrivelsen for studieåret 2021-2022. Merk at det kan komme endringer.

Fakta
Emnekode

DAT240

Vekting (SP)

10

Semester undervisningsstart

Høst

Antall semestre

1

Vurderingsemester

Høst

Undervisningsspråk

Engelsk

Tilbys av

Det teknisk-naturvitenskapelige fakultet, Institutt for data- og elektroteknologi

Læringsutbytte

Kunnskap:

  • Bruk av programmeringsspråket med sterke datatyper
  • Objektorientert programmering og polymorfisme
  • Programvareteknikk og utviklingsmetoder som agile (scrum og kanban)
  • SOLID prinsipper og grunnleggende mønstre for programmering (design patterns)
  • Bruk av forskjellige verktøyer som compilers, build tools, debuggers og versjonskontroll

Ferdigheter:

  • Være i stand til å designe, utvikle og feilsøke komplekse programvaresystemer.
  • Kunne bruk av designmønstre

Generell kompetanse:

  • Kunne utvikle og lede større og mer avanserte software prosjekter
Innhold
  • Programvareutviklingsmetodologier for eksempel smidige metodologier som scrum og kanban, prosjektledelsesverktøy (for design, issue trackers, sprints osv.)
  • Programmeringsparadigmer som objektorientert programmering, funksjonell og prosessuell programmering med vekt på sterkt typede språk
  • SOLID, Design Patterns, Generics
  • Avanserte datastrukturer og algoritmer
  • Parallell programmering
  • Bruk av kompilatorer, build systemer
  • Bruk av versjonskontroll (git) og kodegjennomgang i grupper
Forkunnskapkrav
DAT110 Grunnleggende programmering
Anbefalte forkunnskaper
DAT200 Algoritmer og datastrukturer, DAT220 Databaser, DAT310 Webprogrammering, DAT320 Operativsystemer og systemprogrammering
Eksamen / vurdering

Skriftlig og muntlig eksamen

Vurderingsform Vekting Varighet Karakter Hjelpemiddel
En skriftlig prøve 3/5 4 Timer A - F
Programmeringsprosjekt og muntlig prøve 2/5 A - F

Prosjektoppgave bestående av en stor programmeringsoppgave. Oppgaven utføres i grupper. Karakteren for prosjektoppgaven baseres på innlevert programkode og gruppevis muntlig presentasjon av innlevert programkode. Begge deler må gjennomføres før endelig karakter fastsettes. Hvis en student ikke består prosjektoppgaven, må hun/han ta denne om igjen neste gang emnet undervises.Skriftlig eksamen er digital (Inspera).Begge vurderingsenheter må være bestått for å få endelig karakter i emnet.

Vilkår for å gå opp til eksamen/vurdering
3 obligatoriske laboppgaver

Tre obligatoriske individuelle laboppgaver (programmerings og skriftlig oppgaver). Godkjent/ikke godkjent. Alle obligatoriske oppgavene må godkjennes for å få adgang til skriftlig eksamen. Godkjenning skjer ved innlevering via Autograder-systemet for automatisk evaluering, samt etterfølgende godkjenning på lab.

Gjennomføring av obligatorisk lab skal gjøres til angitte frister. Fravær på grunn av sykdom eller av andre årsaker skal snarest mulig kommuniseres til laboratorie- eller fagansvarlig. Det kan ikke påregnes å få gjennomføre lab utenom oppsatt tid hvis dette ikke er kommunisert og ny avtale gjort.

Konsekvens av at man ikke har fått godkjent laboratoriearbeid er at man ikke får gå opp til eksamen i emnet.

Fagperson(er)
Emneansvarlig: Vinay Jayarama Setty
Faglærer: Glenn Frode Henriksen
Emneansvarlig: Vinay Jayarama Setty
Instituttleder: Tom Ryen
Arbeidsformer

Forelesninger, individuelle programmeringsoppgaver og prosjekt som skal gjøres i grupper.

4 timer med forelesning og 4 øvingstimer pr. uke.

Åpent for
Datateknologi - bachelorstudium i ingeniørfag Enkeltemner ved Det teknisk-naturvitenskaplige fakultet
Emneevaluering
Skjer vanligvis ved skjema og/eller samtaler etter gjeldende retningslinjer.
Overlapping
Emne Reduksjon (SP)
Programmering, videregående (BID100) 5
Programvareutvikling (DAT210) 10
Litteratur
Søk etter pensumlitteratur i Leganto