Hopp til innhald

DAT112 Programvareutvikling

Emneplan for studieåret 2026/2027

Innhald og oppbygging

Innhald og oppbygning

Emnet gir ei praktisk innføring i bruk av enkle algoritmar og datastrukturar, objektorientert design og utvikling av mindre program med interaktive brukargrensesnitt. Undervisninga er organisert rundt fire delprosjekt sentrert rundt utvikling av spel og tilhøyrande nettside med fokus på samarbeid, kreativitet og sjølvstendighet. Desse prosjekta gir studentane erfaring med vegen fra ide til ferdig program, inkludert design, testing og utvikling.

Innhald:

  • Bruk av grunnleggjande datastrukturar (lister, stablar, køar, tre, grafer)
  • Enkle algoritmar for søking og sortering
  • Objektorientert design og modularisering
  • Testing, feilhandsaming og bruk av programbibliotek
  • Enkel datalagring og kommunikasjon med JSON
  • Utvikling av spel og nettbaserte visualiseringar

Læringsutbytte

Etter å ha fullført dette emnet skal studenten kunne:

Kunnskapar

  • ha kunnskap om sentrale datastrukturar som lister, stablar, køar, tre, grafar og hashtabellar, og forstår når og kvifor desse bør nyttast i programmeringsprosjekt, samt innsikt i korleis slike strukturar og tilhøyrande algoritmar kan takast i bruk i praktiske løysingar
  • forstå objektorientert programmering som metode for å strukturera program, inkludert omgrep som klassar, objekt, arv, komposisjon og polymorfi
  • ha kjennskap til prinsipp for modularisering, abstraksjon og vidareutvikling av programvare
  • forstå kvifor systematisk testing er viktig for å sikre funksjonalitet, særlig som motvekt til utilsikta, ukritisk bruk av generative verktøy
  • kjenne til verktøy og arbeidsformer innan moderne programvareutvikling, som versjonskontroll, dokumentasjon og samarbeid i team

Ferdigheiter

  • nytta ferdige datastrukturar og algoritmer frå relevante bibliotek på ein føremålstenleg måte i eigne program
  • utvikla, strukturera og vedlikehalda objektorienterte program i tråd med prinsipp for god kodekvalitet
  • planleggja og gjennomføra utvikling av små til mellomstore programvaresystem, med støtte for lasting, lagring, interaksjon og vidare utviding
  • nytta utviklingsverktøy som Git og integrerte utviklingsmiljø i praktisk samarbeid med andre utviklarar
  • skrive og gjennomføre enkle testar for å verifisere funksjonaliteten til eiga programkode, og bruke testing som verktøy for kvalitetssikring
  • forklara og grunngje eigne løysingar, både munnleg og skriftleg, og visa forståing for designval, struktur og brukaroppleving

Generell kompetanse

  • arbeida strukturert og målretta i utviklingsprosessar, både individuelt og i samarbeid med andre
  • reflektera over tekniske løysingar, kode og prosessar og dokumentere og presentera dei på ein forståeleg og etterprøvbar måte
  • nytta programmering som verktøy for å skape og utvikle et fungerande produkt

Krav til forkunnskapar

Ingen

Tilrådde forkunnskapar

DAT100 Grunnleggende programmering og MAT101 Diskret matematikk 1, eller tilsvarande emne.

Undervisnings- og læringsformer

Førelesingar, øvingsoppgåver og prosjektarbeid i grupper.

Obligatorisk læringsaktivitet

4 obligatoriske innleveringar med tilhøyrande munnlege presentasjonar må være gjennomført og godkjent til fastsette fristar før eksamen kan bli avlagt.

Vurderingsform

Eksamen med to delar: Mappevurdering og munnleg eksamen med varigheit inntil 30 minutt. Bearbeida versjon av alle dei 4 skriftlege, obligatoriske innleveringane inngår i vurderingsmappa.

Delane er likt vekta.

Karakterskala A-F, der F tilsvarar ikkje bestått.

Tid og stad vil bli opplyst på emnets sider på Canvas.

Dersom kun ein del er bestått vil denne være gyldig ut neste semester.

Ved ikkje bestått mappevurdering kan det leverast forbetra versjon av mappa påfølgane semester.

Ved bestått mappe, men ikkje bestått munnleg eksamen kan ein ha ny munnleg eksamen påfølgande semester.

Hjelpemiddel ved eksamen

Mappe: alle hjelpemiddel tillatne.

Munnleg eksamen: ingen hjelpemiddel tillatne.

Meir om hjelpemiddel