Grundnivå
- DA339A Objektorienterad programmering* alternativt* DA361A Data- och informationsvetenskap: Objektorienterad programmering och modellering för IA eller DA371A Informatik: Systemutveckling
- DA211A Introduktion till studier i datavetenskap alternativt DA154A Introduktion till datavetenskap eller DA215A Datateknik eller DA372A Informatik: Verksamhetsstödjande system
- Utöver ovanstående formella förkunskapskrav förutsätts även att studenten har kunskaper från kursen MA220A Diskret matematik för programmerare.
Kursen ingår i kandidatexamen i Datavetenskap med inriktning mot systemutveckling på 31-60 poängsnivån.
Kursen innefattar följande:
- algoritmanalys och algoritmkonstruktion: rimlighetsbedömningar, giriga algoritmer, söndra-och-härska-algoritmer, amorterad analys och heuristiska metoder
- algoritmer: sökalgoritmer, sorteringsalgoritmer och grafalgoritmer
- grundläggande och avancerade datastrukturer såsom binära sökträd, hashtabeller, prioritetsköer och grafer
**Kunskap och förståelse
**Efter genomförd kurs ska studenten kunna:
- visa fördjupad förståelse för egenskaper hos strukturerade och objektorienterade datorprogram
- ha förmåga att beskriva samt uppvisa en fördjupad förståelse av grundläggande och avancerade praktiska algoritmer inom områden såsom grafteori, geometri, strängmatchning och talteori
- ha förmåga att beskriva samt uppvisa en fördjupad förståelse av grundläggande och avancerade datastrukturer
**Färdighet och förmåga
**Efter genomförd kurs ska studenten kunna:
- använda och självständigt anpassa grundläggande och avancerade praktiska algoritmer och datastrukturer för att lösa samt implementera givna problem korrekt och effektivt
- arbeta effektivt i grupp och självständigt för att lösa givna problem korrekt och effektivt inom givna tidsramar
**Värderingsförmåga och förhållningssätt
**Efter genomförd kurs ska studenten kunna:
- utifrån en given problemställning självständigt och i grupp kunna analyser problemet samt kritiskt välja lämpligt angreppssätt, algoritm och/eller datastruktur
- kunna utföra en korrekt implementation och kunna resonera kring och kritiskt värdera design- och implementationsval ur olika aspekter såsom prestanda
Föreläsningar, laborationer, seminarier och handledning.
Krav för godkänd:
Godkänd skriftlig tentamen (4,5 hp, UV) och godkända inlämningsuppgifter (3 hp, UG).
Krav för väl godkänd:
Väl godkänd skriftlig tentamen och godkända inlämningsuppgifter.
- Sedgewick, Robert & Wayne, Kevin Daniel (2011). Algorithms. 4. ed. Upper Saddle River, NJ: Addison-Wesley
Referenslitteratur:
- Cormen, Thomas H. (2009). Introduction to algorithms. 3. ed. Cambridge, Mass.: MIT Press.
Högskolan ger studenter som deltar i eller har avslutat en kurs en möjlighet att framföra sina erfarenheter av och synpunkter på kursen genom en kursvärdering som anordnas av högskolan. Högskolan sammanställer kursvärderingarna samt informerar om resultaten och eventuella beslut om åtgärder som föranleds av kursvärderingarna. Resultaten ska hållas tillgängliga för studenterna. (HF 1:14).
Om en kurs upphört att ges eller genomgått större förändringar ska studenterna, under ett år efter det att förändringen skett, erbjudas två tillfällen för omprov baserade på den kursplan som gällde vid registreringen.
Om en student har beslut om riktat pedagogiskt stöd, har examinator rätt att ge ett anpassat prov eller låta studenten genomföra prov på ett alternativt sätt.