Doel
Het leren toepassen van diverse probleemoplossingsmethoden, het leren en bestuderen van enige concrete algoritmen, het ontwerpen van algoritmen.
Beschrijving
Het vak behandelt diverse algoritmen voor standaardproblemen en verschillende algemene oplossingsmethoden. Probleemoplossingsmethoden die worden behandeld zijn o.a.: toestand-actie-ruimte/state space tree, exhaustive search, verdeel en heers, dynamisch programmeren, gretige algoritmen, backtracking, branch and bound. Verder wordt de sorteermethode heapsort behandeld, en komt het begrip tijdcomplexiteit zijdelings aan de orde. Bij het vak horen drie programmeeropdrachten in de programmeertaal C++.
Methode
hoorcollege, werkgroep en programmeeropdrachten
Examinering
Schriftelijk tentamen aan het eind van het semester. Het tentamen bepaalt twee derde van het eindcijfer. Een derde van het eindcijfer wordt bepaald door het programmeerwerk, bestaande uit drie programmeeropgaven. Zowel tentamen als programmeeropdrachten moeten voldoende zijn.
Literatuur
A. Levitin, Introduction to the Design and Analysis of Algorithms, Second Edition, Pearson Education 2007