DD2458 Problemlösning och programmering under press 9,0 hp
Problem Solving and Programming under Pressure
OBS!
Informationen nedan baseras på en kursplan som ännu inte har börjat gälla.
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.
Utbildningsnivå
Avancerad nivåKursnivå (A-D)
CHuvudområde
Betygsskala
A, B, C, D, E, FX, F
Kurstillfällen/kursomgångar
VT13 popup för programstuderande
Perioder
VT13 P3 (4,5 hp), P4 (4,5 hp)
Anmälningskod
61374Kursen startar
2013 vecka: 2Kursen slutar
2013 vecka: 22Undervisningsspråk
SvenskaCampus
KTH CampusAntal föreläsningar
Antal övningar
Undervisningstid
DagtidUndervisningsform
NormalAntal platser *
Max. 30*) Vid fler sökande än platser kommer urval att ske.
Schema
Schema (nytt fönster)Kursansvarig
Per Austrin <austrin@kth.se>
Lärare
Per Austrin <austrin@kth.se>
Målgrupp
Alla som uppfyller förkunskapskraven.
Kursen är platsbegränsad till 30 platser, urvalsprincip: avklarad DD1352 eller DD2354. I andra hand avklarade poäng inom programmet. Urvalet görs manuellt.
(Modulschema i modulerna E och J.)
HT13 popuph13 för programstuderande
Perioder
HT13 P1 (4,5 hp), P2 (4,5 hp)
Anmälningskod
50187Kursen startar
2013 vecka: 36Kursen slutar
2014 vecka: 3Undervisningsspråk
SvenskaCampus
KTH CampusAntal föreläsningar
26 (preliminärt)Antal övningar
12 (preliminärt)Undervisningstid
DagtidUndervisningsform
NormalAntal platser *
Max. 30*) Vid fler sökande än platser kommer urval att ske.
Schema
Schema (nytt fönster)Kursansvarig
Per Austrin <austrin@kth.se>
Målgrupp
Kursen är platsbegränsad till 30 platser, urvalsprincip: avklarad DD1352 eller DD2354. I andra hand avklarade poäng inom programmet. Urvalet görs manuellt.
Sökbar för studenter på civilingenjörsprogram som har uppnått minst 90 hp varav minst 50 hp från årskurs 1. Sökbar för studenter på masterprogram.
Del av program
- Masterprogram, datalogi, åk 1, CSCB, Villkorligt valfri
- Masterprogram, datalogi, åk 1, CSCD, Villkorligt valfri
- Masterprogram, datalogi, åk 1, CSCF, Villkorligt valfri
- Masterprogram, datalogi, åk 2, CSCB, Villkorligt valfri
- Masterprogram, datalogi, åk 2, CSCD, Villkorligt valfri
- Masterprogram, datalogi, åk 2, CSCF, Villkorligt valfri
Lärandemål
Kursens övergripande syfte är att studenterna dels ska kunna användaprogrammering som ett verktyg för problemlösning, dels kunna tillämpa teoretiska kunskaper från andra datalogikurser på praktisk problemlösning. Kursen har ett stort fokus på att gå hela vägen från teori (i form av algoritmdesign) till praktik (i form av ett fungerande program).
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,
- beskriva algoritmer, datastrukturer och problem i skrift på ett koncist och begripligt sätt.
Målen uppnås dels genom att studenten under kursens gång löser 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 vid minst ett tillfälle skriver lösningsförslag på hemuppgifter.
Kursens huvudsakliga innehå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.
Behörighet
Rekommenderade förkunskaper
Motsvarande en av kurserna 2D1352/DD1352 Algoritmer, datastrukturer och komplexitet och 2D1354/DD2354 Algoritmer och komplexitet.
Litteratur
Meddelas senast 4 veckor före kursstart på kursens hemsida.
Examination
- LAB1 - Programmeringstävlingar, 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
Betyget baseras på antalet lösta uppgifter av de olika sorterna, samt, i en viss utsträckning, på att anteckningar av god kvalitet produceras utan större dröjsmål (inom en vecka från föreläsningen). Genom att uppgifterna har starkt varierande svårighetsgrad, kommer den som löser många uppgifter också, per automatik, lösa ett antal svårare uppgifter, vilket motiverar ett högre betyg. För betyg A behöver man dessutom lösa ett visst antal extra svåra uppgifter.
I denna kurs tillämpas skolans hederskodex, se: http://www.kth.se/csc/student/hederskodex.
Krav för slutbetyg
Examination kan endast ske i samband med pågående kursomgång.
Ges av
CSC/Datalogi
Kontaktperson
Per Austrin, e-post: austrin@kth.se
Examinator
Per Austrin <austrin@kth.se>
Övrig information
Deltagarantalet är begränsat till 30.
Kursen ges endast i mån av lärarresurser.
Påbyggnad
Diskuteras med kursledaren.
Versionsinformation
Kursplan giltig från och med
HT13.
Examinationsinformation giltig från och med
HT07.
