ITF20006 Algoritmer og datastrukturer (Vår 2020)

Fakta om emnet

Studiepoeng:
10
Ansvarlig avdeling:
Fakultet for informasjonsteknologi, ingeniørfag og økonomi
Studiested:
Halden
Emneansvarlig:
Jan Høiberg
Undervisningsspråk:
Norsk eller engelsk
Varighet:
½ år

Emnet er tilknyttet følgende studieprogram

Obligatorisk emne i

  • bachelorstudiet i informatikk - design og utvikling av IT-systemer.

Valgfritt emne for øvrige.

Anbefalte forkunnskaper

Programmeringskunnskaper tilsvarende emnet Programmering 2.

Matematikkkunnskaper med vekt på grunnleggende reell analyse, spesielt funksjonslære.

Undervisningssemester

Bachelorstudie i ingeniørfag, data (Kull 2018 og 2019): 6.semester (vår)
Bachelorstudie i informatikk - design og utvikling av IT-systemer: 4.semester (vår)

Studentens læringsutbytte etter bestått emne

Kunnskap

Studenten kan

  • forklare oppbyggingen og hensikten med lineære datastrukturer (lister, køer, stack), trestrukturer (binærtrær, søketrær, balanserte trær, binærheaper, B-trær), hashtabeller og nettverkstrukturer/grafer

  • forstå og forklare effektivitet av algoritmer, med spesiell vekt på asymptotisk analyse

  • gjøre rede for virkemåten og effektiviteten til standard algoritmer for lagring, innsetting, søking, sletting, sortering, traversering og backtracking, både som iterative og rekursive varianter

Ferdigheter

Studenten kan

  • designe, implementere og anvende datastrukturer for ulike behov

  • analysere, designe, implementere og anvende fundamentale og klassiske algoritmer

  • bruke både egenutviklede og ferdig tilgjengelige algoritmer og datastrukturer til å løse sammensatte og kompliserte problemer

Generell kompetanse

Studenten

  • har innsikt i fundamentale og varige prinsipper innen klassisk informatikk, som vil bestå uavhengig av maskinplattformer og programmeringsspråk

  • behersker begreper og terminologi som brukes i vide kretser i informatikken verden over

  • kan diskutere i faglige fora og gi råd om bruk av datastrukturer og algoritmer i ulike situasjoner

  • kan formidle viktigheten og nødvendigheten av å bruke hensiktsmessige strukturer og effektive algoritmer

Innhold

  • Algoritmeanalyse

  • Rekursiv programmering

  • Sentrale datastrukturer som tabeller, lister, køer, stakker, hashtabeller, søketrær, heap, B-trær og grafer

  • Algoritmer for sortering, søking, lagring og rekursjon.

Undervisnings- og læringsformer

Forelesninger og øvingstimer.

Arbeidsomfang

Ca 250 timer.

4 timer forelesning + øving per uke.

Arbeidskrav - vilkår for å avlegge eksamen

Inntil fem oppgaver må gjennomføres og godkjennes.

Arbeidskrav må være godkjent før studenten kan fremstille seg til eksamen.

Eksamen

Skriftlig eksamen

4 timers skriftlig eksamen. Det benyttes bokstavkarakter A-F.

Hjelpemiddel: Alle trykte og skrevne hjelpemidler er tillatt.

Sensorordning

Emneansvarlig sensurerer sammen med ekstern eller intern sensor.

Evaluering av emnet

Dette emnet evalueres på følgende måte:

  • Midtsemesterevaluering (obligatorisk)

Den emneansvarlige lager en oppsummering på bakgrunn av studentenes tilbakemeldinger og sine egne erfaringer med emnet. Oppsummeringen behandles av studiekvalitetsutvalget ved avdeling for informasjonsteknologi.

Litteratur

Litteraturlista oppdatert 15.11.2019:

Lewis, John; Chase, Joseph: "Java Software Structures - Designing and Using Data Structures (Fourth Edition)", ISBN-13: 978-0-273-79332-8, ISBN-10: 0-273-79332-2

Sist hentet fra Felles Studentsystem (FS) 18. juli 2024 02:45:52