ETE388 · 3 hp · Avancerad nivå (A1X) · Datavetenskap
Algoritmisk problemlösning: Sökning och dynamisk programmering
Ges · nästa start HT 2026
100 %
klarade senaste ordinarie tillfället
LAB1 · 2 sep 2026 · 10 studenter
100 %
klarade de ordinarie tillfällena, alla tillfällen de senaste 5 åren
LAB1 · 43 studenter
Modulen rapporterar bara godkända resultat, så andelen godkända visar inte hur många som inte klarade den.
Inlämning eller laboration
LAB1 Laborationer
- 5
- 4
- 3
Ordinarie tillfällen
100 % godkända · 43 studenter
- 100 %10
- 100 %15
- 100 %18
Senare tillfällen
100 % godkända · 38 studenter
- 100 %12
- 100 %14
- 100 %7
- 100 %5
- Klarar ett senare tillfälle: 100 % (38 studenter), jämfört med 100 % (43 studenter) på ordinarie
- Får 4 eller 5: 35 % (81 studenter)
Visa små tillfällen (32)
Tillfällen med färre än 5 studenter, ofta tillgodoräknanden eller specialtillfällen. De ingår inte i någon siffra på sidan.
- 100 %1
- 100 %1
- 100 %3
- 100 %1
- 100 %1
- 100 %4
- 100 %2
- 100 %2
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %4
- 100 %2
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %2
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %1
- 100 %3
- 100 %3
Om kursen
Mål
Målet med kursen är att utveckla förmågan att lösa algoritmiska problem genom att utnyttja kunskaper om algoritmer, data strukturer och komplexitetsteori med ett fokus på sökning och dynamisk programmering. För att lösa den här typen av problem är det viktigt att kunna analysera problemet, välja eller designa en algoritm, avgöra hur mycket resursers (tid och minne) algoritmen kräver samt att implementera och testa algoritmen snabbt och korrekt.
Studentens lärandemål:
- Att känna till och förstå vanliga algoritmer och datastrukturer för sökning och dynamisk programmering.
- Att kunna implementera algoritmer och datastrukturer relevanta för sökning och dynamisk programmering.
- Att kunna lösa algoritmiska problem kopplade till sökning och dynamisk programmering.
- Att analysera effektiviteten hos olika möjliga lösningar på ett algoritmiskt problem, med fokus på sökning och dynamisk programmering, för att avgöra vilken som är tillräckligt effektivt för en given situation.
Innehåll
För att framgångsrikt lösa datavetenskapliga problem krävs en solid teoretisk grund samt förmågan att applicera teorierna vid praktisk problemlösning. Målet med den här kursen är att utveckla förmågan att lösa algoritmiska problem genom att utnyttja kunskaper om algoritmer, datastrukturer och komplexitetsteori. För att lösa den här typen av problem är det viktigt att kunna analysera problemet, välja eller designa en algoritm, avgöra hur mycket resursers (tid och minne) algoritmen kräver samt att implementera och testa algoritmen snabbt och korrekt.
Syftet är att studenterna ska kunna använda programmering och algoritmer, särskilt sökning och dynamisk programmering, som ett effektivt verktyg för problemlösning samt få en möjlighet att tillämpa teoretiska kunskaper från andra kurser för att lösa praktiska problem.
Kursen tar upp sökning och dynamisk programmering som är två generella metoder för att lösa algoritmiska problem. Många optimerings- och strängalgoritmer bygger på dynamisk programmering som kappsäcksproblemet och strängmatchning. Sökmetoder som tas upp innefattar binärsökning, djupet först, bredden först, A* och heuristisk sökning.
- Examinator
- Fredrik Heintz
- Schemalagd tid
- 0 h
- Huvudområde
- Datavetenskap