Hoppa till huvudinnehållet
Till KTH:s startsida

DD2458 Problemlösning och programmering under press 9,0 hp

För att framgångsrikt lösa olika datalogiska problem krävs både gedigna teoretiska kunskaper och förmåga att tillämpa dessa kunskaper i praktiken.

Denna kurs fokuserar på förmågan att tillämpa teoretiska kunskaper om algoritmer, datastrukturer och komplexitet på givna problem. Att snabbt kunna analysera ett problem, göra bedömningar av föreslagna algoritmers komplexitet och kunna implementera en lösning snabbt och korrekt är användbara förmågor i arbetslivet. I denna kurs tränas problemlösningsförmåga dels med ett antal omgångar med hemuppgifter och dels med tidsbegränsade problemlösningssessioner.

Notera att detta är en ovanligt intensiv och arbetstung kurs.

Information per kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Termin

Information för VT 2025 popup25 programstuderande

Studielokalisering

KTH Campus

Varaktighet
2025-01-14 - 2025-06-02
Perioder
P3 (4,5 hp), P4 (4,5 hp)
Studietakt

33%

Anmälningskod

60139

Undervisningsform

Normal Dagtid

Undervisningsspråk

Engelska

Kurs-PM
Kurs-PM är inte publicerat
Antal platser

15 - 25

Målgrupp

Sökbar för studenter från årskurs 3 och studenter antagna på ett masterprogram under förutsättning att kursen kan ingå i programmet.

Planerade schemamoduler
[object Object]

Kontakt

Examinator
Ingen information tillagd
Kursansvarig
Ingen information tillagd
Lärare
Ingen information tillagd
Kontaktperson

Per Austrin, e-post: popup-17@csc.kth.se

Kursplan som PDF

Notera: all information från kursplanen visas i tillgängligt format på denna sida.

Kursplan DD2458 (VT 2025–)
Rubriker med innehåll från kursplan DD2458 (VT 2025–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Algoritmer: beräkningsgeometri, grafalgoritmer, talteoretiska algoritmer, strängmatchning. Algoritmanalys och algoritmkonstruktion: dynamisk programmering, amorterad analys, rimlighetsbedömningar. Programmeringsfärdigheter, framför allt i C++ och Java.

Kursen fokuserar på problemlösning hela vägen från teori (i form av algoritmdesign) till praktik (i form av ett fungerande program).

Under kursens gång löser studenten ett stort antal hemuppgifter, implementerar ett antal algoritmer för att bygga upp ett mindre algoritmbibliotek, löser problem i små grupper under "problemsessioner", samt presenterar lösningar på hemuppgifter muntligt.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • använda algoritmkonstruktionsmetoder som giriga algoritmer, dynamisk programmering, dekomposition och kombinatorisk sökning för att konstruera algoritmer i syfte att lösa givna problem
  • använda grundläggande algoritmer inom områden som t.ex.grafteori, talteori, och geometri på givna problem samt anpassa dem till problemspecifika omständigheter
  • analysera effektiviteten hos olika algoritmer för att avgöra vilka som i ett givet sammanhang är tillräckligt effektiva
  • jämföra olika problem med avseende på svårighetsgrad
  • implementera algoritmer och datastrukturer givet abstrakta specifikationer
  • identifiera buggar i andras lösningsförsök på problem
  • kommunicera med andra under problemlösning i grupp
  • presentera algoritmer, datastrukturer och problem muntligt på ett koncist och begripligt sätt

i syfte att

  • kunna använda programmering som ett verktyg för problemlösning
  • kunna tillämpa teoretiska kunskaper från andra datalogikurser på praktisk problemlösning.

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper i algoritmer och komplexitet, 7,5 hp, motsvarande slutförd kurs DD2350/DD2352

eller

dokumenterad erfarenhet av aktivt deltagande i algoritmiska programmeringstävlingar med en svårighetsgrad motsvarande de algoritmer som studeras i DD2350/DD2352.

Rekommenderade förkunskaper

DD2440 Avancerade Algoritmer

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • LAB2 - Laborationer och problemlösningspass, 4,5 hp, betygsskala: A, B, C, D, E, FX, F
  • ÖVN1 - Skriftliga uppgifter, 4,5 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Examination kan endast ske i samband med pågående kursomgång.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Datalogi och datateknik

Utbildningsnivå

Avancerad nivå

Påbyggnad

Diskuteras med kursledaren.

Kontaktperson

Per Austrin, e-post: popup-17@csc.kth.se

Övergångsbestämmelser

LAB2 motsvarar det tidigare provmomentet LAB1, som kan ersättas av detta.

Övrig information

Deltagarantalet är begränsat till 25.

Kursen ges endast i mån av lärarresurser.


I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex