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.
Kursinnehå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.
Förutsättningar
150 hp godkända inom teknik, matematik, fysik, datavetenskap eller kognitionsvetenskap varav minst 60 hp ska vara i något av följande huvudområden:
Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford, (2022) Introduction to algorithms. Fourth edition Cambridge, Mass. MIT Press, [2022] ISBN: 9780262046305
Algorithmic Problem Solving http://algorithmicproblemsolving.org/