Algoritmer og datastrukturer (DAT200)

Emnet gir en grundig innføring i en del mye brukte datastrukturer og algoritmer.


Dette er emnebeskrivelsen for studieåret 2023-2024

Fakta

Emnekode

DAT200

Versjon

1

Vekting (stp)

10

Semester undervisningsstart

Høst

Antall semestre

1

Vurderingssemester

Høst

Undervisningsspråk

Engelsk

Innhold

Effektivitetsanalyse for algoritmer. Definisjon, bruk og implementeringer av abstrakte datatyper som: Stabler, køer, lister, assosiative tabeller (Python dictionary), trestrukturer, grafer, prioritetskøer, hauger. Hash-teknikker. Trestrukturer. Bruk og implementering av datastrukturer som kan representere grafer. Algoritmer for sortering og søking. Noen grunnleggende algoritmer for grafer, inkludert veifinning. Rekursjon som programmeringsteknikk.

Læringsutbytte

Etter å ha tatt dette emnet skal studenten:

Kunnskap

  • Vite hvordan grunnleggende algoritmer for sortering, søking, og veifinning i grafer virker
  • Vite hvordan grunnleggende datastrukturer for lister, stabler, køer, prioritetskøer, mengder, assosiative tabeller og grafer virker

Ferdigheter

  • Være i stand til å beregne effektiviteten til algoritmer
  • Være i stand til å forstå og lage effektive rekursive algoritmer
  • Være i stand til å implementere effektive algoritmer for sortering og søking

Generell kompetanse

  • Vite hvordan datastrukturer og algoritmer for lister, køer, stabler (stack), hauger (heap), binære trær, og grafer kan implementeres.
  • Kunne bruke standard algoritmer og datastrukturer til å lage effektive programmer

Forkunnskapskrav

Emnet forutsetter at studenten kan programmere i henhold til pensum i DAT110 eller DAT120 Grunnleggende programmering.

Anbefalte forkunnskaper

DAT100 Objektorientert programmering, DAT120 Grunnleggende programmering

Eksamen / vurdering

Vurderingsform Vekting Varighet Karakter Hjelpemiddel
En skriftlig eksamen 1/1 4 Timer Bokstavkarakterer Ingen hjelpemidler tillatt

Dette emnet har digital eksamen. Det vil være mulig å bruke Scantron for å skanne inn håndtegninger og koble dem til den digitale besvarelsen.

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

Innleveringsoppgaver
Det er 9 øvinger i faget. For å få godkjent øvingsopplegget og dermed få lov til å ta eksamen i faget må minimum 7 av 9 øvinger være godkjente innen angitt frist.

Fagperson(er)

Emneansvarlig:

Mina Farmanbar

Instituttleder:

Tom Ryen

Arbeidsformer

4 timer forelesning pluss 2 timer gruppearbeid i uka. Alle studenter får tilbud om å delta på øvingstimer 4 timer i uken. På datalaben får en hjelp til å fullføre de obligatoriske oppgavene. Dessuten skal studentene presentere løsningene sine på laben.

Gjennomføring av obligatoriske øvinger skal gjøres til de tider og i de grupper som er oppsatt og publisert på Canvas. Fravær på grunn av sykdom eller av andre årsaker skal snarest mulig kommuniseres til laboratorie- eller fagansvarlig. Det kan ikke påregnes å få godkjent øvinger utenom oppsatt tid hvis dette ikke er kommunisert og ny avtale gjort.

Konsekvensen av at du ikke har fått godkjent øvingsoppgavene er at du ikke får gå opp til eksamen i faget.

Overlapping

Emne Reduksjon (SP)
Datastrukturer og algoritmer (TE0458_1) 6
Datastrukturer og algoritmer (TE0458_A) 6
Datastrukturer og algoritmer (BIE270_1) 10

Åpent for

Datateknologi - bachelor i ingeniørfag
Enkeltemner ved Det teknisk-naturvitenskaplige fakultet
Industriell økonomi - master i teknologi/siv.ing., femårig

Emneevaluering

Det skal være en tidligdialog mellom emneansvarlig, studenttillitsvalgt og studentene. Formålet er tilbakemelding fra studentene for endringer og justering i emnet inneværende semester.I tillegg skal det gjennomføres en digital emneevaluering minimum hvert tredje år. Den har som formål å innhente studentenes erfaringer med emnet.

Litteratur

Pensumlisten finner du i Leganto