Course code: DTE-2511

Videregående programmering

Campus Narvik, Bodø and Online
Semester / year Spring 2027
Level Basic courses, level I
Credits 10

About the course

Kan tas som enkeltemne.

  • Big O-notasjon og algoritmeanalyse
  • Klassiske datastrukturer: lister, stakk, kø
  • Prioritetskø og heap
  • Binære søketrær og balansering
  • Hashing, map og dictionary
  • Grafer: uvektede og vektede
  • Søke- og sorteringsalgoritmer
  • Dynamisk programmering
  • Divide and conquer
  • Backtracking og grådige algoritmer
  • Rekursjon og memoization
  • Avansert objektorientert modellering
  • Decorators, context-klasser og closures
  • Iteratorer og design patterns
  • Integrasjon med C-kode
  • Binærfiler og serialisering
  • JSON og CSV
  • Regulære uttrykk
  • Versjonshåndtering
  • Avansert enhetstesting
  • Programbiblioteker
  • Ansvarlig bruk av KI i programutvikling

Se for øvrig læringsutbytte

Admission reguirements

Generell studiekompetanse og Matematikk R1+R2 og Fysikk 1.

Søkere som kan dokumentere ett av følgende kvalifiserer også for opptak:

  • generell studiekompetanse og bestått realfagkurs, eller
  • bestått 1-årig forkurs for ingeniørutdanning, eller
  • 2-årig teknisk fagskole etter rammeplan fastsatt av departementet 1998/99 og tidligere studieordninger

*For å få opptak til enkeltemner på grunnlag av Y-veien, må søkeren oppfylle opptakskriteriene for Y-vei til studieprogrammet som emnet inngår i. I tillegg må søkeren oppfylle eventuelle forkunnskapskrav som er spesifisert for det konkrete emnet de søker opptak til. Det gis begrenset studierett til det spesifikke emnet - på samme måte som realkompetansesøkere.

Søknadskode: 9391

Objective of the course

Kunnskaper og forståelse

Etter fullført emne skal kandidaten:

  • ha kunnskap om Big O-notasjon og kunne utføre grunnleggende algoritmeanalyse
  • kjenne til klassiske datastrukturer som lister, stakk, kø, prioritetskø/heap, binære søketrær og balanserte trær, samt hashing, map og dictionary
  • kjenne til uvektede og vektede grafer og sentrale algoritmer knyttet til disse
  • ha kunnskap om klassiske søke- og sorteringsalgoritmer
  • kjenne til strategier for algoritmedesign: dynamisk programmering, divide and conquer, backtracking og grådige algoritmer
  • forstå prinsippene for rekursjon, og sett på klassiske områder hvor rekursjon med fordel kan foretrekkes foran iterasjon
  • ha kjennskap til avanserte modelleringsmekanismer innenfor objektorientert programmering
  • kjenne til muligheter og begrensninger ved bruk av kunstig intelligens i programutvikling

Ferdigheter

Etter fullført emne skal kandidaten kunne:

  • skrive objektorientert programkode med klasser, metoder, innkapsling, arv og polymorfi
  • implementere klassiske datastrukturer og algoritmene som hører til dem
  • skrive rekursive funksjoner
  • skrive og anvende mekanismer som decorators, context-klasser og closures
  • integrere ekstern C-kode i Python
  • lese og skrive binærfiler, JSON- og CSV-strukturer, og anvende serialisering
  • bruke regulære uttrykk (regex)
  • bruke et versjonshåndteringssystem
  • skrive avanserte enhetstester
  • bruke og lage programbiblioteker
  • implementere iteratorer og andre klassiske design patterns
  • bruke KI-verktøy som støtte i programutvikling på en kritisk og ansvarlig måte

Generell kompetanse

Etter fullført emne skal kandidaten:

  • kunne planlegge og gjennomføre programmeringsprosjekter, alene og i gruppe
  • ha tilegnet seg avanserte programmeringskunnskaper utover et innføringsnivå
  • ha god oversikt over klassiske temaer innen algoritmer og datastrukturer
  • kunne anvende algoritmisk tenkning til å løse komplekse problemer effektivt

Forkunnskapskrav

Recommended prerequisites

DTE-2510 Grunnleggende programmering, DTE-2605 Programmering 1, ITE1900 Programmering 1

Teaching methods

Forelesninger gjennomføres primært digitalt via verktøy som Teams, samt som pre-produserte opptak, og er tilgjengelige for alle studentkategorier. Det er mulighet for dialog via chat underveis, og forelesninger tas opp og kan ses i ettertid. Lærerassisterte timer på campus tilbys i forbindelse med frivillige og obligatoriske øvinger. Studentene forventes å forberede seg til forelesning ved å ha gjennomgått anbefalt eller utdelt materiale på forhånd.

Studentenes ferdigheter fremmes gjennom:

  • strukturert undervisningsopplegg
  • frivillige øvingsoppgaver
  • e-tester
  • obligatoriske øvingsoppgaver
  • oppgavepresentasjoner
  • ansvarlig bruk av KI

Language of instruction and examination

Norsk og engelsk

Schedule

The schedules are normally finalized and published well in advance of the start of the semester, often a few weeks beforehand. This gives students the opportunity to organize their studies and prepare for upcoming activities.

It is recommended to check the schedule regularly, as changes may occur.

Examination

Exams
Skriftlig skoleeksamen Duration: 3 Timer Grade:
A–E, fail F
Coursework requirements

To take an examination, the student must have passed the following coursework requirements

Obligatoriske øvinger Grade:
Approved – not approved
Presentasjon av 2 oppgaver Grade:
Approved – not approved

Everything you need to know about before, during, and after the exam; registration, absence, appeals, and diplomas: UiT Exams homepage

More info about the coursework requirements

Arbeidskrav:

1. 4 obligatoriske oppgaver som poengsettes. Kandidaten må ha mer enn 66% score av totalt mulig oppnådde poeng for å få godkjent dette arbeidskravet.

2. Presentasjon av 2 oppgaver for studentassistent eller lærere i løpet av kurset. Aktuelle oppgaver vil bli opplyst om i løpet av kurset. Presentasjon kan være i nettmøte eller levert som video.

Re-sit examination

Det arrangeres kontinuasjonseksamen for studenter som ikke har bestått siste ordinære eksamen i dette emnet.

Other years and semesters

Contact us