Engelskt namn: CS2: Algorithms and problemsolving
Denna kursplan gäller: 2014-11-24 och tillsvidare
Kursplan för kurser med start efter 2014-11-24
Kursplan för kurser med start mellan 2014-11-17 och 2014-11-23
Kurskod: 5DV161
Högskolepoäng: 7,5
Utbildningsnivå: Grundnivå
Huvudområden och successiv fördjupning:
Datavetenskap: Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
Betygsskala: Väl godkänd, godkänd, underkänd
Ansvarig institution: Institutionen för datavetenskap
Beslutad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2014-08-19
Reviderad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2016-07-18
Kursen behandlar abstrakta datatyper, algoritmer, en introduktion till formella språk och grammatiker, automatteori samt tillämpningsexempel. Kursen ger också en introduktion och praktiskt arbete med att utforma en frågeställning och utifrån denna formulera kriterier för att bedöma lämpligheten hos en lösning. Studenterna får sedan värdera olika lösningsförslag utifrån dessa kriterier. Under kursen används programspråket C.
Abstrakta datatyper som behandlas är bland andra träd, trie, heap, graf och hashtabell. Datatypernas informella och formella specifikationer, generella egenskaper och användningsområden liksom olika implementationsmöjligheter och deras specifika egenskaper behandlas. Vidare behandlas grundläggande algoritmer förknippade med dessa abstrakta datatyper, deras komplexitet och karakteristiska egenskaper. På kursen gås ett antal problemlösningsstrategier som tex brute force, greedy, divide and conquer och dynamisk programmering igenom.
Kursen ger en introduktion till formella språk och grammatiker där studenterna får arbeta med reguljära och kontextfria språk med hjälp av reguljära uttryck, finita automater och en algoritm för att avgöra medlemsskap i ett språk definierat av en kontextfri grammatik. Under kursen kommer studenterna få praktiskt använda de abstrakta datatyper och algoritmer vi gått igenom för att skapa egna finita automater.
Teoridelarna i kursen tillämpas genom problemlösning (att konstruera algoritmer) och programmering (att överföra algoritmer till källkod i ett programspråk) där ett större programmeringsprojekt kommer behandla formella språk och automater.
Kursen består av två moment:
Moment 1, teori, 2.5 högskolepoäng
Moment 2, problemlösning, 5 högskolepoäng
Efter avslutad kurs ska studenten kunna:
Kunskap och förståelse
Färdighet och förmåga
Värderingsförmåga och förhållningssätt
För tillträde till kursen krävs kurserna DV1: Datavetenskaps byggstenar (5DV160) och Matematik för datavetare (5MA150) eller motsvarande kunskaper.
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. Obligatorisk närvaro krävs på examinerande seminarier.
Examinationen på Moment 1 (FSR 1-5, 8-9) sker genom ett antal mindre delprov. Momentet bedöms när samtliga delprov är godkända med något av betygen Godkänd (G) eller Underkänd (U).
Moment 2 (FSR 1-10) examineras genom ett antal obligatoriska uppgifter varav minst en uppgift genomförs i seminarieform. På Moment 2 ges betygen Väl godkänd (VG), Godkänd (G) eller Underkänd (U).
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 prov och obligatoriska moment är godkända. Betyget utgör en sammanfattande bedömning av resultaten vid examinationens olika delar och sätts först när alla obligatoriska moment är godkända.
Studerande som godkänts i ett prov får inte undergå förnyat prov för att få ett högre betyg.
För studerande som inte godkänns vid ordinarie provtillfälle anordnas ytterligare provtillfälle. Notera att när det gäller examinerande seminarier så anordnas ett "uppsamlingsseminarium" vid anslutning till kursens slut. Om student fortfarande inte blivit godkänd på seminarieuppgiften efter detta tillfälle är nästa komplettering i samband med att kursen ges nästa gång.
En student som utan godkänt resultat har genomgått två prov för en kurs eller en del av en kurs, har rätt att få en annan examinator utsedd, om inte särskilda skäl talar emot det (HF 6 kap. 22 §). Begäran om ny examinator ställs till prefekten vid Institutionen för datavetenskap.
TILLGODORÄKNANDE
Student har rätt att få prövat om tidigare utbildning eller motsvarande kunskaper och färdigheter förvärvade i yrkesverksamhet kan tillgodoräknas för motsvarande utbildning vid Umeå universitet. Ansökan om tillgodoräknande skickas in till Studentcentrum/Examina. Mer information om tillgodoräknande finns på Umeå universitets studentwebb, www.student.umu.se, och i högskoleförordningen (6 kap). Ett avslag på ansökan om tillgodoräknande kan överklagas (Högskoleförordningen 12 kap) till Överklagandenämnden för högskolan. Detta gäller såväl om hela som delar av ansökan om tillgodoräknande avslås.
I en examen får denna kurs ej ingå, helt eller delvis, samtidigt med en annan kurs med likartat innehåll. Vid tveksamheter bör den studerande rådfråga studievägledare vid Institutionen för datavetenskap och/eller programansvarig för sitt program.
Speciellt gäller att denna kurs kan ej ingå fullt ut i en examen samtidigt som någon av kurserna Datastrukturer och algoritmer (5DV108, 5DV041, 5DV043), Datastrukturer och algoritmer (C) (5DV127, 5DV149), Datastrukturer och algoritmer (Python) (5DV128, 5DV150), Datavetenskapens grunder (5DV037) eller DV3: Kompilatorns första faser - automater och grammatik (5DV156).
Överlappet mellan denna och kurserna i Datastrukturer och algoritmer uppräknade ovan motsvarar ca 2.5 hp. Om man läst någon av dessa kurser och vill tillgodoräkna de kunskaperna till denna så måste man komplettera med examinerande delar som motsvarar FSR 2-4, 6-10.
Överlappet mellan denna och kurserna 5DV037 och 5DV156 uppräknade ovan motsvarar ca 3 hp. Om man läst någon av dessa kurser och vill tillgodoräkna de kunskaperna till denna så måste man komplettera med examinerande delar som motsvarar FSR 1,5-7,10.
Har man både läst en kurs i datastrukturer och algoritmer och någon av kurserna 5DV037/5DV156 och vill tillgodoräkna de kunskaperna till denna kurs måste man komplettera med examinerande delar som motsvarar FSR 6 och 10.
Litteraturlistan är inte tillgänglig via den webbaserade utbildningskatalogen. Kontakta aktuell institution.