Kursplan för Algoritmer och datastrukturer

Algorithms and Data Structures

Kursplan

  • 7,5 högskolepoäng
  • Kurskod: 2IS206
  • Utbildningsnivå: Grundnivå
  • Huvudområde(n) och successiv fördjupning: Programvaruteknik G1F

    Förklaring av koder

    Koden visar kursens utbildningsnivå och fördjupning i förhållande till andra kurser inom huvudområdet och examensfordringarna för generella examina:

    Grundnivå

    • G1N: har endast gymnasiala förkunskapskrav
    • G1F: har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
    • G1E: innehåller särskilt utformat examensarbete för högskoleexamen
    • G2F: har minst 60 hp kurs/er på grundnivå som förkunskapskrav
    • G2E: har minst 60 hp kurs/er på grundnivå som förkunskapskrav, innehåller examensarbete för kandidatexamen
    • GXX: kursens fördjupning kan inte klassificeras

    Avancerad nivå

    • A1N: har endast kurs/er på grundnivå som förkunskapskrav
    • A1F: har kurs/er på avancerad nivå som förkunskapskrav
    • A1E: innehåller examensarbete för magisterexamen
    • A2E: innehåller examensarbete för masterexamen
    • AXX: kursens fördjupning kan inte klassificeras

  • Betygsskala: Underkänd (U), godkänd (G), väl godkänd (VG)
  • Inrättad: 2013-02-21
  • Inrättad av: Institutionsstyrelsen
  • Reviderad: 2020-09-03
  • Reviderad av: Institutionsstyrelsen
  • Gäller från: vecka 01, 2021
  • Behörighet: Programmering, 7,5 hp
  • Ansvarig institution: Institutionen för informatik och media

Beslut och riktlinjer

Kursen ingår i följande utbildningsprogram:
* Kandidatprogram i systemvetenskap, inriktning programvaruteknik, 180 hp.
Ges även som fristående kurs.

Mål

Vad gäller kunskap och förståelse förväntas studenten efter genomgången kurs kunna:

  • beskriva grundläggande datastrukturer och algoritmer utifrån funktion och tidskomplexitet,
  • beskriva generella principer för design och implementation av algoritmer.
Vad gäller färdighet och förmåga förväntas studenten efter genomgången kurs kunna:
  • analysera algoritmer utifrån funktion och tidskomplexitet,
  • utifrån problembeskrivningar skapa objektorienterade program som löser algoritmiska problem,
  • använda Javas API:er för algoritmer och datastrukturer.
Vad gäller värderingsförmåga och förhållningssätt förväntas studenten efter genomgången kurs kunna:
  • i relation till problembeskrivningar värdera val av datastrukturer och algoritmiska lösningar utifrån funktion och tidskomplexitet.

Innehåll

Kursen använder Java som programmeringsspråk och fokuserar på algoritmisk problemlösning och datastrukturer utifrån funktion och förståelse för tidskomplexitet men ger även fördjupade kunskaper och färdigheter inom objektorienterad programmering. Grundläggande datastrukturer såsom länkade listor och träd behandlas med fokus både på att förstå hur de är uppbyggda och när de bör användas. Vidare behandlas söknings- och sorteringsalgoritmer där studenterna både får använda API:er och göra egna implementationer. Kursen behandlar även designprinciper för algoritmer såsom divide-and-conquer och dynamisk programmering.

Undervisning

Kursen ges i form av föreläsningar och laborationer.

Examination

Kursen examineras genom inlämningsuppgifter och tentamen.

Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare eller beslut om undantag som fattats av institutionens arbetsgrupp för studieärenden.

Litteratur

Litteraturlista

Gäller från: vecka 01, 2022

I bibliotekets söktjänst kan du se om en titel finns elektroniskt.

  • Goodrich, Michael T.; Tamassia, Roberto; Goldwasser, Michae Data Structures and Algorithms in Java 6th Edition International Student Ve

    John Wiley & Sons, 2014

    Se bibliotekets söktjänst

    Obligatorisk