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 2021-2022
Fakta
Emnekode
DAT200
Vekting (stp)
10
Semester undervisningsstart
Høst
Undervisningsspråk
Engelsk
Antall semestre
1
Vurderingssemester
Høst
Innhold
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
Anbefalte forkunnskaper
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 | — | — |
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
Fagperson(er)
Instituttleder:
Tom RyenEmneansvarlig:
Mina FarmanbarArbeidsformer
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
Emneevaluering
Litteratur
E-book
Problem solving with algorithms and data structures using Python Miller, B.N., Ranum, D.L., Wilsonville, Or, Franklin, Beedle & Associates, XI, 357, 2006, isbn:1590280539, Jeg vil basere meg på on-line versjonen av denne boka. I denne versjonen kan studentene prøve ut en del av algoritmene selv. https://runestone.academy/runestone/books/published/pythonds/index.htmlView online
Other
Kompendium Forelesningsnotater, terminologilister og kompendier som legges ut på Canvas i løpet av faget er del av pensum. Disse dekker pensum som ikke er dekket av primær pensumbok, eller ikke er godt nok dekket av primær lærebok.
Other
Øvingsoppgaver Øvingene er del av pensum. Løsningsforslag til øvingene er del av pensum. Du må levere 7 av 9 øvinger for å gå opp til eksamen. Oppgaver og løsningsforslag legges ut på Canvas i løpet av faget.
Book
Introduction to algorithms Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C., Stein, Clifford,; Rivest, Ronald.; Leiserson, Charles Eric.; Cormen, Thomas H., Cambridge, Massachusetts. :, MIT Press, 1 online resource (xix, 1292 pages) :, 2009, isbn:1-62870-913-8; 0-262-53305-7; 0-262-25810-2; 9780262270830, This textbook is thorough and is used for the master course DAT600 algorithm theory. It is also used in other universities for bachelor courses on algorithms. However, this book is very theoretical and mathematical. All algorithms are illustrated with pseudocode alone and not in a real programming language. https://bibsys-ur.userservices.exlibrisgroup.com/view/uresolver/47BIBSYS_UBIS/openurl?ctx_enc=info:ofi/enc:UTF-8&ctx_id=10_1&ctx_tim=2019-11-21T16:03:53IST&ctx_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx&url_ver=Z39.88-2004&rfr_id=info:sid/primo.exlibrisgroup.com-vlebooks&req_id=&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=book&rft.atitle=&rft.jtitle=&rft.btitle=Introduction%20to%20algorithms&rft.aulast=Cormen&rft.auinit=&rft.auinit1=&rft.auinitm=&rft.ausuffix=&rft.au=&rft.aucorp=&rft.date=2009&rft.volume=&rft.issue=&rft.part=&rft.quarter=&rft.ssn=&rft.spage=&rft.epage=&rft.pages=xix,%201292&rft.artnum=&rft.issn=&rft.eissn=97802622&rft.isbn=9780262533058&rft.sici=&rft.coden=&rft_id=info:doi/&rft.object_id=&rft.eisbn=9780262258104&rft.edition=3rd%20ed..&rft.pub=MIT%20Press&rft.place=Cambridge,%20Mass.%20;%20London&rft.series=&rft.stitle=&rft.bici=&rft_id=info:bibcode/&rft_id=info:hdl/&rft_id=info:lccn/QA76.6&rft_id=info:oclcnum/&rft_id=info:pmid/&rft_id=info:eric/((addata/eric}}&rft_dat=%3cvlebooks%3eAH33814674%3c/vlebooks%3e%3curl%3e%3c/url%3e,language=eng,view=UBIS&svc_dat=viewit&user_ip=10.16.56.140&req.skin=primo&rft_pqid=EBC3339142&rft_galeid=&rft_cupid=&rft_eruid=&rft_nurid=&rft_ingid=View online