Emne

Algoritmer og datastrukturer (DAT200)

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


Dette er emnebeskrivelsen for studieåret 2020-2021

Se emnebeskrivelse og eksamens-/vurderingsinfo for dette studieåret (2024-2025)

Fakta

Emnekode

DAT200

Vekting (stp)

10

Semester undervisningsstart

Høst

Undervisningsspråk

Engelsk

Antall semestre

1

Vurderingssemester

Høst

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 Grunnleggende programmering.

Anbefalte forkunnskaper

Objektorientert programmering (DAT100), Grunnleggende programmering (DAT110)

Eksamen / vurdering

Vurderingsform Vekting Varighet Karakter Hjelpemiddel Exam system Withdrawal deadline Exam date
Hjemmeeksamen 1/1 4 Timer Bokstavkarakterer 20.11.2020


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, 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)

Instituttleder:

Tom Ryen

Emneansvarlig:

Mina Farmanbar

Arbeidsformer

6 timer forelesning 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)
Algoritmer og datastrukturer (DAT200_1) , Datastrukturer og algoritmer (TE0458_1) 6
Algoritmer og datastrukturer (DAT200_1) , Datastrukturer og algoritmer (TE0458_A) 6
Datastrukturer og algoritmer (BIE270_1) , Algoritmer og datastrukturer (DAT200_1) 10

Åpent for

Batteri- og energiteknologi - bachelor i ingeniørfag Bygg - bachelor i ingeniørfag Datateknologi - bachelor i ingeniørfag Datateknologi - bachelor i ingeniørfag, deltid Elektroteknologi - bachelor i ingeniørfag, deltid Elektroteknologi - bachelor i ingeniørfag Energi- og petroleumsteknologi - bachelor i ingeniørfag Geovitenskap og energiressurser - bachelor i ingeniørfag Miljøteknologi - bachelor i ingeniørfag Maskin - bachelor i ingeniørfag Medisinsk teknologi - bachelor i ingeniørfag Medisinsk teknologi - bachelor i ingeniørfag - deltid
Enkeltemner ved Det teknisk-naturvitenskaplige fakultet
Industriell økonomi - master i teknologi/siv.ing., femårig Kybernetikk og robotteknologi - Master i teknologi/siv.ing. - 5 år

Emneevaluering

Skjer vanligvis gjennom skjema og/eller i samtaler etter til gjeldende retningslinjer.

Litteratur

Pensum1. Miller BN. Problem solving with algorithms and data structures using Python. (Ranum DL, red.). Franklin, Beedle & Associates; 2006:XI, 357. https://runestone.academy/runestone/books/published/pythonds/index.html2. Kompendium.3. Øvingsoppgaver.Alternativ litteratur4. Cormen TH. Introduction to algorithms . Third edition. (Stein C, Rivest R, Leiserson CE, Cormen TH, red.). MIT Press; 2009.
Emnebeskrivelsen er hentet fra Felles studentsystem Versjon 1