Hoppa direkt till innehållet
printicon
Huvudmenyn dold.
Kursplan:

Programmering för effektiv problemlösning, 7,5 hp

Engelskt namn: Programming for Effective Problem Solving

Denna kursplan gäller: 2022-02-07 och tillsvidare

Kurskod: 5DV232

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: För denna kurs ges betygen VG Väl godkänd, G Godkänd, U Underkänd

Ansvarig institution: Institutionen för datavetenskap

Beslutad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2022-02-17

Innehåll

Denna kurs handlar om hur programmering används för effektiv problemlösning, med en form inspirerad av Nordic Collegiate Programming Competition (NCPC) och liknande programmeringstävlingar. Denna typ av problemlösning, där en snabb engångslösning för ett informellt beskrivet problem ska konstrueras, är vanlig också i forskning och näringsliv. Kursens fokus är övning på att analysera problem, applicera kunskap i datastrukturer och algoritmer, och implementera algoritmer snabbt och korrekt. Under kursen kommer studenterna att lösa ett större antal mindre övningsuppgifter, men studenterna tävlar inte mot varandra.

Kursen ges i hybridform och kan läsas med fysisk närvaro och/eller på distans online. Under kursens första del behandlar en serie föreläsningar ett antal klasser av algoritmiska tekniker, ett antal specifika användbara algoritmer, och generella tekniker för att angripa informellt formulerade problem. Föreläsningarna ges på campus med möjlighet till deltagande på distans. Utöver föreläsningar ges löpande ett urval övningsuppgifter, från vilket studenterna själva väljer ett antal att individuellt lösa. Övningsuppgifterna hanteras helt på distans online. Ett urval av uppgifterna diskuteras under kursen i seminarieform (med lösningsförslag) medan ett annat urval är obligatoriska uppgifter och utgör examinationen på kursen.

Förväntade studieresultat

Kunskap och förståelse
Efter avklarad kurs ska studenten kunna:
  • (FSR 1) Beskriva ett antal kategorier av algoritmer (exempelvis giriga algoritmer, söndra-och-härska algoritmer, dynamisk programmering, sökmetoder med bakåtspårning, kombinatorisk sökning) samt förklara ett urval av specifika algoritmer ur vardera kategori.
Färdighet och förmåga
Efter avklarad kurs ska studenten kunna:
  • (FSR 2) Uppvisa god förmåga att tolka och analysera algoritmiska problem givna i fritextform.
  • (FSR 3) Lösa algoritmiska problem genom att applicera och modifiera grundläggande algoritmer (exempelvis sökalgoritmer, kombinatoriska algoritmer och grafalgoritmer).
  • (FSR 4) Genom analys av tids- och rumskomplexitet bedöma om en algoritm är tillräckligt effektiv för att kunna lösa ett givet problem med givna tids- och rumsbegränsningar.
  • (FSR 5) På begränsad tid implementera och testa en algoritm.

Behörighetskrav

För behörighet krävs:
- minst 7,5 hp inom grundläggande programmering
- minst 7,5 hp inom datastrukturer och algoritmer
- minst 7,5 hp inom diskret matematik

Undervisningens upplägg

Undervisningen bedrivs i form av föreläsningar, individuella övningsuppgifter och seminarier. Föreläsningarna sker på campus för de som deltar fysiskt och strömmas samtidigt online för de som deltar på distans. Förslag på individuella övningsuppgifter ges löpande under kursens gång. En del av övningsuppgifterna diskuteras på en serie seminarietillfällen som ges online.

Examination

På kursen ges något av betygen Väl Godkänd (VG), Godkänd (G) eller Underkänd (U). Kursen examineras genom ett antal skriftliga inlämningsuppgifter ställda på en tävlingsliknande form. För godkänt resultat krävs att samtliga inlämningsuppgifter är godkända.

Avsteg från kursplanens examinationsform kan göras för en student som har beslut om pedagogiskt stöd på grund av funktionsnedsättning. Individuell anpassning av examinationsformen ska övervägas utifrån studentens behov. Examinationsformen anpassas inom ramen för kursplanens förväntade studieresultat. Efter begäran av studenten ska kursansvarig lärare, i samråd med examinator, skyndsamt besluta om anpassad examinationsform. Beslutet ska sedan meddelas studenten.

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 för Institutionen för datavetenskap.

Övriga föreskrifter

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.

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: 2022 vecka 6

Litteratur tillhandahålls av institutionen.