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 2018-2019. Merk at det kan komme endringer.

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

Semesters

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, 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, 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 tre, og grafer kan implementeres ved hjelp av Java.
  • Kunne bruke standard algoritmer og datastrukturer til å lage effektive programmer

Forkunnskapskrav

Ingen

Anbefalte forkunnskaper

Objektorientert programmering (DAT100)

Eksamen / vurdering

Vurderingsform Vekting Varighet Karakter Hjelpemiddel Exam system Withdrawal deadline Exam date
En skriftlig eksamen 1/1 4 Timer Bokstavkarakterer Ingen hjelpemidler tillatt Inspera assessment


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)

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

Bachelornivå på Det teknisk-naturvitenskapelige fakultetet.

Masternivå på Det teknisk-naturvitenskapelige fakultetet

Emneevaluering

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

Litteratur

Data Structures and Problem Solving Using Java, Mark Allen Weiss, Published by Addision-Wesley.

Et kompendium som legges ut på Canvas

Emnebeskrivelsen er hentet fra Felles studentsystem Versjon 1