Engelskt namn: Data Structures and Algorithms (Python)
Denna kursplan gäller: 2013-08-19 och tillsvidare
Kurskod: 5DV150
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
Kognitionsvetenskap: Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
Betygsskala: Med beröm godkänd, icke utan beröm godkänd, godkänd, väl godkänd, godkänd, underkänd
Ansvarig institution: Institutionen för datavetenskap
Beslutad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2013-12-13
Kursen behandlar grundläggande abstrakta datatyper, grundläggande algoritmer, komplexitetsanalys, tillämpningsexempel och olika problemlösningsansatser. Under kursen används programspråket Python.
Grundläggande abstrakta datatyper som behandlas är bland andra lista, stack, kö, träd, mängd, graf och tabell. 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 olika abstrakta datatyper, deras komplexitet och karakteristiska egenskaper för typiska problem (till exempel sökning, sortering och traversering). Komplexitetsanalys av algoritmer introduceras och man lär sig beskriva resultatet av en sådan analys med hjälp av Ordo-notation. Grundläggande problemlösningsstrategier behandlas, till exempel divide and conquer, brute force, greedy och dynamisk programmering.
Teoridelarna i kursen tillämpas genom problemlösning (att konstruera algoritmer) och programmering (att överföra algoritmer till källkod i ett programspråk). Färdigheter som testning, felsökning och dokumentation övas. Komplexitet hos enkla algoritmer undersöks.
Kursen består av två moment.
Moment 1, teori, 4.5 högskolepoäng
Moment 2, problemlösning, 3 högskolepoäng
Efter avslutad kurs ska studenten kunna:
Kunskap och förståelse
Färdighet och förmåga
Univ: För tillträde till kursen krävs en grundläggande kurs i programmeringsmetodik i programspråket Python (tex 5DV105 eller 5DV106) eller motsvarande kunskaper.
Undervisningen bedrivs i form av föreläsningar, arbete i datorlabb och övningar i mindre grupper. Utöver schemalagda aktiviteter krävs även individuellt arbete med materialet.
Examinationen sker dels genom skriftlig tentamen (Moment 1, teori) dels genom ett antal obligatoriska uppgifter (Moment 2, problemlösning). Skriftlig tentamen bedöms med något av betygen Med beröm godkänd (5), Icke utan beröm godkänd (4), Godkänd (3), Underkänd (U). På moment 2 ges endast betygen Underkänd (U) eller Godkänd (G). På hela kursen ges något av betygen Med beröm godkänd (5), Icke utan beröm godkänd (4), Godkänd (3), 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.
Studenter som underkänts på Moment 1 vid kursens slut erbjuds ytterligare två provtillfällen under året. För studenter som underkänts på Moment 2 vid kursens slut ges ytterligare ett provtillfälle under året.
För studerande som inte godkänns vid ordinarie provtillfälle anordnas ytterligare provtillfälle. 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
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 (Python) (5DV128) eller Datastrukturer och algoritmer (C) (5DV127, 5DV149).
Tillgodoräknande av studier prövas individuellt (se http://www.umu.se/utbildning/antagning/tillgodoraknande/).
Denna kurs ersätter kursen 5DV128 Datastrukturer och algoritmer (Python) som läggs ned. Under 2014 och 2015 gäller detta för studenter som gått 5DV128 men inte klarat den:
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
Valfri introduktionsbok i Pythonprogrammering.
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
Valfri lärobok kring pythonprogrammering
Institutionen för datavetenskap :
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
Lindblad Erik
Programmering i Python
Lund : Studentlitteratur ; c 2006 e (Lund : f Studentlitteratur) : 2006 : 406 s. :
ISBN: 91-44-04520-4
Se Umeå UB:s söktjänst