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