Kursen behandlar algoritmer och problemlösning och bygger vidare på kursen DV1: Datatyper och datastrukturer som fokuserar på organisation och abstraktion av data och därtill hörande algoritmer. Syftet med kursen är att träna upp en färdighet i att formulera och lösa problem vars lösning tar formen av en algoritm (så kallade algoritmiska problem). Utöver detta tränas en färdighet i att undersöka algoritmers korrekthet och effektivitet genom experimentella metoder samt en förmåga att jämföra lämpligheten mellan olika lösningar i ett verkligt scenario.
Kursen är uppdelad i två moduler: Teori (3 hp) och Problemlösning (4,5 hp).
Teorimodulen syftar till att bygga en verktygslåda bestående av problemlösningsstrategier (exempelvis brute force, greedy, divide & conquer) och klassiska problem och algoritmer.
Problemlösningsmodulen syftar primärt till att träna en färdighet i att formulera och lösa algoritmiska problem samt att utvärdera en algoritms korrekthet, effektivitet och lämplighet i ett viss sammanhang. Även programmeringsfärdigheten tränas genom att algoritmer implementeras och på olika sätt undersöks genom experiment.
Förväntade studieresultat
Kunskap och förståelse Efter avslutad kurs ska studenten kunna
(FSR 1) redogöra för klassiska algoritmiska problem och algoritmer,
(FSR 2) beskriva vanligt förekommande problemlösningsstrategier och redogöra för under vilka förutsättningar de är tillämpliga.
Färdighet och förmåga Efter avslutad kurs ska studenten kunna
(FSR 3) lösa algoritmiska problem med och utan hjälp av problemlösningsstrategier,
(FSR 4) utifrån en informell beskrivning av en algoritm formulera algoritmen i pseudokod,
(FSR 5) utifrån en frågeställning implementera och experimentellt utvärdera lösningen på ett algoritmiskt problemi programspråket C inklusive att välja en lämplig representation för de ingående abstrakta datatyperna.
Värderingsförmåga och förhållningssätt Efter avslutad kurs ska studenten kunna
(FSR 6) värdera olika lösningars lämplighet genom att väga samman flera olika kvalitetsaspekter (exempelvis läsbarhet, tidskomplexitet och rumskomplexitet).
Behörighetskrav
För behörighet krävs följande kurser (eller motsvarande): - Imperativ programmering (C), 7,5 hp - DV0: Datavetenskapligt tänkande, 7,5 hp - DV1: Datatyper och datastrukturer, 7,5 hp - Algebra och analys för datavetare, 7,5 hp
Undervisningens upplägg
Undervisningen bedrivs i form av föreläsningar, seminarier, arbete i datorlabb och övningar i mindre grupper. Utöver schemalagda aktiviteter krävs även individuellt arbete med materialet.
Examination
Modul 1 (FSR 1-2) examineras genom ett antal digitala prov på distans. Modulen bedöms med något av betygen Godkänd (G) eller Underkänd (U). Var och en av proven bedöms som avklarad eller ej avklarad och alla prov är obligatoriska.
Modul 2 (FSR 3-6) examineras genom skriftliga inlämningsuppgifter och seminarier. På Modul 2 ges betygen Väl godkänd (VG), Godkänd (G) eller Underkänd (U). Var och en av de obligatoriska uppgifterna bedöms som avklarad eller ej avklarad samt ges ett övergripande omdöme i form av poäng. Betyget på momentet utgör en sammanfattande bedömning av resultaten av examinationens olika delar och sätts först när alla uppgifter är bedömda som avklarade.
På hela kursen ges något av betygen Väl godkänd (VG), Godkänd (G) eller Underkänd (U). För att bli godkänd på hela kursen krävs att samtliga moduler är godkända. Betyget sätts till samma som betyget på Modul 2.
Anpassad examination Examinator kan besluta om avsteg från kursplanens examinationsform. Individuell anpassning av examinationsformen ska övervägas utifrån studentens behov. Examinationsformen anpassas inom ramen för kursplanens förväntade studieresultat. Student som har behov av en anpassad examination ska senast 10 dagar innan examinationen begära anpassning hos Institutionen för datavetenskap. Examinator beslutar om anpassad examination som sedan meddelas studenten.
Övriga föreskrifter
Kursen kan ej ingå till sitt fulla poängtal i en examen tillsammans med en kurs med likartat innehåll. Vid tveksamheter, kontakta studierektor vid Institutionen för datavetenskap.
Om kursplanen har upphört att gälla eller kursen slutat erbjudas garanteras en student som någon gång registrerats på kursen minst tre provtillfällen (inklusive ordinarie provtillfälle) enligt denna kursplan under en tid av maximalt två år från det att kursplanen upphört att gälla eller kursen slutat erbjudas.
Litteratur
Giltig från:
2023 vecka 3
Datatyper och algoritmer Janlert Lars-Erik, Wiberg Torbjörn 2., [rev.] uppl. : Lund : Studentlitteratur : 2000 : x, 387 s. : ISBN: 91-44-01364-7 Obligatorisk Se Umeå UB:s söktjänst