Toegangseisen
Niet van toepassing
Beschrijving
Het vak behandelt diverse algemene algoritmische methoden voor het oplossen van problemen, alsmede enkele bekende algoritmen zoals het algoritme van Dijkstra. Elke methode wordt geillustreerd aan de hand van bekende of minder bekende voorbeelden.
Probleemoplossingsmethoden die worden behandeld zijn o.a.: toestand-actie-ruimte/state space tree, brute force, exhaustive search, verdeel en heers, backtracking, dynamisch programmeren, gretige algoritmen en branch-and-bound. Verder kijken we bij veel algoritmes ook naar de tijdcomplexiteit.
Bij het vak horen drie programmeeropdrachten in de programmeertaal C++, in elk waarvan een besproken oplossingsmethode toegepast moet worden om een gegeven probleem op te lossen.
Aanbevolen voorkennis: Programmeermethoden.
Leerdoelen
Het leren toepassen van diverse probleem oplossingsmethoden.
Het leren en bestuderen van enige concrete algoritmen.
Het ontwerpen van algoritmen.
Rooster
Het meest recente rooster is te vinden op de Studenten-website:
Onderwijsvorm
Per week (on-line) hoorcollege, gevolgd door (on-line) werkcollege. Er worden drie programmeeropdrachten gegeven. Tijdens het werkcollege worden opgaven op papier gemaakt of wordt on-line achter de eigen computer aan de programmeeropdrachten gewerkt.
Toetsing
Schriftelijk tentamen aan het eind van het semester. Het eindcijfer van het vak is een gewogen gemiddelde van de cijfers voor het tentamen (twee derde) en de programmeeropdrachten (samen een derde). Zowel tentamen als (alle) programmeeropdrachten moeten voldoende (minstens 5.5) zijn. Voor meer informatie, zie de website van het vak.
Literatuur
Anany Levitin, Introduction to The Design and Analysis of Algorithms, third edition (Pearson, 2012, ISBN: 978-0-273-76411-3).
Aanmelden
Aanmelden via Usis: Selfservice > Studentencentrum > Inschrijven
Activiteitencodes te vinden via de studentenwebsite onder de tab 'Wiskunde en Natuurwetenschappen'.
Contact
Docent: Rudy van Vliet
Onderwijscoördinator Informatica, Riet Derogee.