|
|
Het eerstejaarsvak Algoritmiek is verplicht voor alle studenten Informatica, Bioinformatica, Informatica en Economie, en voor studenten die een dubbele propedeuse Wiskunde/Informatica doen. Het vak levert 6 EC op.
Zowel hoorcollege als werkcollege is in principe in een collegezaal (meestal in de De Sitterzaal). Alleen op vier vrijdagen vindt het werkcollege plaats in de computerzaal.
Voorkennis voor dit vak is het college Programmeermethoden. Het college dat op Algoritmiek aansluit heet Datastructuren. Dit wordt gegeven in het najaar (derde semester van de studie Informatica (en Economie/Biologie)).
Voor globale informatie over het vak in studiejaar 2018-2019 wordt men verwezen naar de algemene webpagina.
In het studiejaar 2018/2019 werd
evenals in de voorgaande jaren
gebruik gemaakt van het volgende boek: Anany Levitin,
Introduction to The Design and Analysis of Algorithms,
third edition (Pearson, 2012).
Of de
internationale editie van hetzelfde boek
(ISBN: 978-0-273-76411-3).
De bij het college behorende slides zijn hieronder nog te bekijken.
| Datum | Onderwerp | Slides | Boek | Werkcollege |
|---|---|---|---|---|
| 8 februari | Introductie | slides1 | 1.1, 1.2, 1.4 (t/m graafrepresentaties) | opgaven1, antwoorden opgaven 2,6-9 |
| 15 februari | Grafen en bomen | slides2 | 1.4, 4.5 (subpar `Searching and Insertion in a BST') | opgaven2 |
| 22 februari | Complexiteit, toestand-actie-ruimte | slides3 | slides, 2.1-2.3, 4.5 (subpar `The Game of Nim') en 6.6 (subpar `Reduction to Graph Problems') | opgaven3, antwoorden opgaven 1-3,5 (presentatie Jan van Rijn uit 2011), antwoorden opgave 4,6-8, toestand-actie-ruimte bij opgave 4 |
| 1 maart | Toestand-actie-ruimte, brute force | slides4 | 3 inl., 3.1-3.3, slides | Programmeeropdracht 1 |
| 8 maart | Exhaustive search | slides5 | 3.4, 3.5, slides | opgaven5, antwoorden5 |
| 22 maart | Backtracking | slides6 | 12 inl., 12.1, slides | opgaven6, antwoorden6, SST opgave 7, SST opgave 8 |
| 5 april | Verdeel en heers | slides7 | 5.inl, 5.1, 5.2, 5.4, 5.5 (geen Strassen en convex hull), 4 inl., 4.1 | Programmeeropdracht 2 |
| 12 april | Rest decrease and conquer, dynamisch programmeren | slides8 | slides; 5.3, 4.2, 4.4 (geen Russian peasant), 4.5 (inl + Binary Search Tree), 8 inl. | opgaven7, enkele antwoorden |
| 26 april | Dynamisch programmeren | slides9 | slides; 8.2, voorbeeld 2 in 8.1 | opgaven9, antwoorden opgaven 2,3,6, antwoorden opgaven 4 en 5ac (presentatie Jan van Rijn uit 2011), antwoord opgave 7 |
| 3 mei | Gretige algoritmen, algoritme van Dijkstra | slides10 | slides, 9 inl., 9.2 t/m blz. 353, 9.3 | opgaven10, antwoorden van opgaven 1,2,4-7 |
| 10 mei | Algoritme van Dijkstra, gretige algoritmen | slides11 | slides, 9.1, 9.2 (inclusief implementatie Union Find), 9.3 | Programmeeropdracht 3 |
| 17 mei | Branch & bound | slides12 | 12.2 | opgaven12, antwoorden van opgaven 1,2,3 |
| 24 mei | oud tentamen oefenen | Tentamen van 9 juli 2018 |
De liefhebbers kunnen ook zelf bomen maken om uit te proberen. Zie voor de gewenste codering van de bomen het bestand "readmelinux.txt".
De opdrachten moeten alle drie voldoende zijn (>=5.5). Programmeerwerk mag in tweetallen worden gemaakt. De opdrachten dienen op (of voor) de deadlines te worden ingeleverd. Eventueel mag (uiterlijk) twee weken te laat worden ingeleverd, maar dan gaat er voor iedere (gedeeltelijke) week 1 punt van het cijfer af. Als plagiaat wordt geconstateerd, krijgen de betrokken teams geen cijfer voor de betreffende opdracht en dit collegejaar ook geen mogelijkheid om de opdracht alsnog te doen.
Meer informatie over te laat, niet voldoende en plagiaat...
Studenten die vorig studiejaar alle drie programmeeropdrachten hebben afgerond, hoeven het programmeerwerk dit jaar niet opnieuw te doen. Ouderejaars studenten die het practicum helemaal niet of slechts gedeeltelijk hebben gedaan, moeten contact opnemen met de docent: rvvliet(at)liacs(dot)nl. Deelresultaten blijven niet automatisch geldig.
Meer informatie, zoals over het schrijven van het verslag in LaTeX, is hier te vinden.
Alle opdrachten zijn nagekeken, en ook de herkansingen. U vindt de cijfers in Blackboard.
Wie het tentamen niet haalt, krijgt het (onvoldoende) tentamencijfer als eindcijfer. Wie het tentamen wel haalt, maar de programmeeropdrachten niet (allemaal) heeft afgerond, krijgt nog geen eindcijfer. In dit laatste geval blijft het voldoende tentamencijfer staan totdat het programmeerwerk is afgerond.
Er zijn twee tentamens geweest:
Eerste tentamen: donderdag 6 juni 2019, 14.00-17.00 uur,
in het Snellius in Leiden.
Hertentamen: maandag 8 juli 2019
14.00-17.00, in het Snellius in Leiden.
Beide tentamens zijn nog terug te vinden in de lijst met oude tentamens
onderaan. Voor het eerste tentamen staat daar ook
een uitwerking van de docent.
Beide tentamens zijn nagekeken, de cijfers zijn bekend,
en ook de eindcijfers, voor zover die al te bepalen zijn.
Alle cijfers zijn te vinden in
Blackboard.
Hierbij geldt de volgende
legenda.
|
Vragen en/of opmerkingen kunt u sturen naar: Rudy van Vliet; rvvliet(at)liacs(dot)nl Laatste wijziging: 16 december 2019 - http://www.liacs.leidenuniv.nl/~vlietrvan1/algoritmiek/ |