Emne

Programvareutvikling (DAT240)

Fakta

Emnekode DAT240

Vekting (stp) 10

Semester undervisningsstart Høst

Undervisningsspråk Engelsk

Antall semestre 1

Vurderingssemester Høst

Timeplan Vis timeplan

Litteratur Pensumlisten finner du i Leganto

Introduksjon

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.

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

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

Forkunnskapskrav

Ingeniørfaglig innføringsemne - Data og elektro (ING100)

Anbefalte forkunnskaper

Databaser og webprogrammering (DAT130), Algoritmer og datastrukturer (DAT200), Databaser (DAT220), Operativsystemer og systemprogrammering (DAT320)

Eksamen / vurdering

Prosjektoppgave med justerende muntlig høring

Vekt 1/1

Karakter Bokstavkarakterer

Trekkfrist 09.11.2025

Den endelige karakteren (A-F) er 100 % basert på gruppeprosjektet og den tilsvarende muntlige eksamenen. Prosjektet består av en stor oppgave som demonstrerer anvendelsen av konsepter og teknikker lært i kurset. Prosjektet skal gjennomføres i gruppe. Karakteren (A-F) for prosjektet vil være basert på innlevert prosjektoppgave inkludert programkode og tilhørende muntlig eksamen. Gruppene må forklare prosjektgjennomføringen i detalj under den muntlige eksamenen for å få den endelige karakteren.

Hvis en student ikke består prosjektet, må hun/han ta prosjektet neste gang kurset foreleses.

Vilkår for å gå opp til eksamen/vurdering

Obligatoriske innleveringer

Tre obligatoriske individuelle laboppgaver (programmerings og skriftlig oppgaver). Alle obligatoriske oppgavene må godkjennes for å få adgang til prosjektet. Godkjenning skjer ved innlevering via QuickFeed-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 prosjekt i emnet.

Arbeidsformer

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

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

Overlapping

Emne Reduksjon (SP)
Programmering, videregående (BID100_1) , Programvareutvikling (DAT240_1) 5
Programvareutvikling (DAT210_1) , Programvareutvikling (DAT240_1) 10

Åpent for

Datateknologi
Enkeltemner på masternivå ved Det teknisk-naturvitenskapelige fakultet
Industriell økonomi Kybernetikk og robotteknologi - Master i teknologi/siv.ing. - 5 år
Utveksling ved Det teknisk-naturvitenskapelige fakultet

Emneevaluering

Fakultetet avgjør om det skal gjennomføres tidligdialog i alle emner eller i utvalgte grupper av emner. Formålet er å få tilbakemeldinger fra studentene for forbedringer i semesteret. I tillegg skal det gjennomføres en digital emneevaluering minst hvert tredje år for å innhente studentenes erfaringer.
Emnebeskrivelsen er hentet fra Felles studentsystem Versjon 1