ITF20006 Algoritmer og datastrukturer (Vår 2017)
Fakta om emnet
- Studiepoeng:
- 10
- Ansvarlig avdeling:
- Fakultet for informasjonsteknologi, ingeniørfag og økonomi
- Studiested:
- Halden
- Emneansvarlig:
- Jan Høiberg
- Undervisningsspråk:
- Norsk
- Varighet:
- ½ år
Emnet er tilknyttet følgende studieprogram
Obligatorisk emne i
- bachelorstudiet i informatikk - design og utvikling av IT-systemer.
Valgfritt emne for øvrige.
Forkunnskapskrav utover opptakskrav
Emnet forutsetter kunnskaper tilsvarende emnet Objektorientert programmering.
Studentens læringsutbytte etter bestått emne
Kunnskap
Studenten kan
- forklare oppbyggingen og hensikten med lineære datastrukturer (lister, køer), trestrukturer (binærtrær, søketrær, balanserte trær, binærheaper) og nettverkstrukturer
- greie ut om tabellbaserte og lenkede datastrukturer kunne forklare hva det ligger i begrepet "effektivt" i en algoritmisk sammenheng
- gjøre rede for virkemåten og effektiviteten til ulike 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
Rekursive problemer. Gjennomgang av de viktigste datastrukturer som tabeller, lister, køer, stakker, hashtabeller, trær, grafer med tilhørende operasjoner. Algoritmer for sortering, søking, lagring og rekursjon. Programmeringsspråket er Java.
Undervisnings- og læringsformer
Forelesninger og øvingstimer.
Arbeidsomfang
4 timer forelesning + øving per uke.
Arbeidskrav - vilkår for å avlegge eksamen
Fire 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: Fire A4-ark (åtte sider) med egne notater.
Evaluering av emnet
Dette emnet evalueres på følgende måte:
- Midtsemesterevaluering (frivillig)
- Sluttevaluering (obligatorisk)
Den emneansvarlige lager en emnerapport på bakgrunn av studentenes tilbakemeldinger og sine egne erfaringer med emnet.
Emnerapporten behandles av studiekvalitetsutvalget ved avdeling for informasjonsteknologi.
Litteratur
Litteratur er sist oppdatert 2. desember 2015. Med forbehold om endringer før studiestart.
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