

Algoritmiek
Het vak Algoritmiek gaat over het ontwerpen van algoritmes. In dit vak leer je basis datastructuren en verschillende strategieën om abstracte problemen op te lossen (namelijk greedy algoritmen, verdeel-en-heers en dynamisch programmeren). Je leert deze strategieën te gebruiken om algoritmen te ontwerpen, maar ook om de correctheid van het gemaakt algoritme te bewijzen, en de tijd- en ruimtecomplexiteit van het algoritme te analyseren. Het vak sluit af met een in de informatica zeer bekende theorie over wat voor soort problemen efficiënt (polynomiaal) op te lossen zijn.
Voorkennis
Goede kennis van en ervaring met programmeren, bijvoorbeeld door de Inf4All cursus “Basis object georiënteerd programmeren”.
Enige ervaring met het bewijzen van de correctheid van algoritmen en looptijd analyse van eenvoudige algoritmen, bijvoorbeeld door de Inf4All cursus “Grondslagen van de Informatica”.
Vorm
Een serie bijeenkomsten met deels interactieve colleges en deels onder begeleiding werken aan oefenopdrachten. Thuis kunnen de oefenopdrachten worden afgemaakt, en het college van de week erna worden voorbereid.
Locatie
in Utrecht. Vragen kunnen ook online gesteld worden.
Literatuur
Voor deze module maken we gebruik van hoofdstukken 2 t/m 8 van het boek Algorithm Design van Jon Kleinberg & Éva Tardos (2005), Pearson. Verder materiaal komt beschikbaar via de online omgeving.
Tentaminering/examinering
- Alle programmeeropdrachten moeten als voldoende worden beoordeeld (vraag hulp als dit niet lukt)
- 1/3 op basis van de eigen les (inc. lesplan)
- 2/3 op basis van het tentamen
Docent
Ivo van Kreveld (TU Delft)