Algoritmiek,

voorjaar 2026

Toren Academiegebouw

Laatste nieuws

(22.12.2025) Deze website is nog niet helemaal klaar. Werk in uitvoering.

(22.12.2025) Er zijn dit jaar niet drie, maar twee programmeeropdrachten.


Het eerstejaarsvak Algoritmiek is verplicht voor alle studenten Informatica en voor studenten die een dubbele propedeuse Wiskunde/Informatica doen. Het vak levert 6 EC op.

Students Data Science and Artificial Intelligence / Bioinformatica / Informatica en Econonie

This course is not intended for students Data Science and Artificial Intelligence, students Bioinformatica and students Informatica en Economie. They follow the course Algorithms and Data Structures, with equivalent content, but in English instead of Dutch, and with Python instead of C++.

Praktische informatie

Docent: Rudy van Vliet
te vinden op: kamer BM.2.01 van het (nieuwe) Gorlaeus
telefoon: ... helaas, geen telefoon meer
email: rvvliet(at)liacs(dot)nl
Assistenten werkcollege en practicum: ...
Onderwijsvorm: per week in principe twee uur hoorcollege, twee uur werkcollege en twee uur practicum, allemaal on-campus.
Collegetijden: van 2 februari t/m 18 mei 2025.
In de week van 23 t/m 27 maart (tentamenweek), en op maandag 6 april (Tweede Paasdag), maandag 27 april (Koningsdag), en dinsdag 5 mei (bevrijdingsdag) zijn er geen colleges/bijeenkomsten van dit vak. In de loop van het semester zullen enkele ingeroosterde werkcolleges en practicumbijeenkomsten vervallen.

Aanbevolen 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).

Inhoud van het vak

Algoritmiek gaat uiteraard over algoritmen. Het vak behandelt diverse algemene algoritmische methoden voor het oplossen van problemen, alsmede enkele standaard boom- en graafwandelalgoritmen. Elke methode wordt geillustreerd aan de hand van bekende of minder bekende voorbeelden. Probleemoplossingsmethoden die worden behandeld zijn o.a.: Verder kijken we bij veel algoritmen ook naar de tijdcomplexiteit (om de efficientie van algoritmen te beschrijven en te vergelijken).

Voor globale informatie over het vak in studiejaar 2025-2026 wordt men verwezen naar de algemene webpagina.

Doelstelling

Na afloop van dit vak is de student in staat om:

Materiaal

In het studiejaar 2025/2026 wordt 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 komen ook via deze website beschikbaar.

Programma

Het programma van colleges en werkcolleges zal hieronder worden bijgehouden. Voor elke week wordt vermeld welke onderwerpen aan de orde zijn gekomen, met de bijbehorende paragrafen uit het boek en de gebruikte slides. Ten slotte vind je hieronder de bij het werkcollege behandelde opgaven, met (soms) antwoorden. Om vast een idee te krijgen van de te behandelen stof, kunt u kijken op de website van Algoritmiek, voorjaar 2025.

Datum Onderwerp Slides Boek Werkcollege
2 februari Introductie

Tentamenstof

De tentamenstof bestaat uit: alles wat we gedurende het semester bij hoorcollege, werkcollege en practicum behandelen. Dit wordt in de loop van het semester opgebouwd op deze website, in het bijzonder hierboven bij het programma. Het zal weinig afwijken van de tentamenstof van het vak in voorjaar 2025. We gaan wel wat meer aandacht besteden aan de complexiteit.

Werkcollege

Tijdens het werkcollege werden opgaven op papier gemaakt die aansluiten bij de stof uit de hoorcolleges. Deze opgaven zijn hierboven in de tabel opgenomen.

Practicumbijeenkomsten

In week 2 (11 februari) en elke week vanaf week 4 of 5 is een practicumbijeenkomst gepland. De bijeenkomst in week 2 is voor het bomenpracticum, de andere bijeenkomsten zijn bedoeld om, met assistentie, te werken aan de programmeeropdrachten.

Practicumbijeenkomst 11 februari

Tijdens de practicumbijeenkomst in week 2 (11 februari) wordt er een practicumopdracht rond een implementatie van binaire bomen gedaan, in de computerzalen van het (nieuwe) Gorlaeus. Daarvoor zal een skeletprogramma beschikbaar worden gesteld, dat je verder moet invullen.

Programmeeropdrachten

Bij het vak horen twee programmeeropdrachten in de programmeertaal C++, in elk waarvan een besproken oplossingsmethode toegepast moet worden om een gegeven probleem op te lossen.

De opdrachten moeten alle twee 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, wordt hiervan melding gemaakt bij de examencommissie, en wordt de beoordeling van de opdracht voor die teams opgeschort, in afwachting van een oordeel van de examencommissie. Een mogelijke sanctie is dat beide teams geen cijfer krijgen en ook geen mogelijkheid krijgen om de opdracht nog in hetzelfde collegejaar af te ronden. Een vergelijkbare procedure wordt gevolgd als we tot de conclusie komen dat een programma geheel of gedeeltelijk is gemaakt met behulp van een generatieve AI zoals ChatGPT.

Meer informatie over te laat, niet voldoende en plagiaat...

Studenten die in een eerder studiejaar alle (toen nog) drie programmeeropdrachten hebben afgerond, hoeven het programmeerwerk dit jaar niet opnieuw te doen. Deelresultaten blijven in veel (maar niet alle!) gevallen ook geldig. Zie ook het paragraafje `Cijfers uit eerdere jaren' verderop.

Je kunt je oplossingen voor de opdrachten inleveren in Brightspace. Daarvoor moet je in Brightspace eerst een groepje vormen (met z'n twee-en of eventueel in je eentje). Ook als je steeds met dezelfde programmeerpartner werkt, moet je voor elke opdracht opnieuw een groepje vormen.

De twee programmeeropdrachten van dit jaar worden t.z.t. hieronder gepubliceerd. Meer informatie, zoals over het schrijven van het verslag in LaTeX en over het werken op de huisuil, is hier te vinden.

Eventuele opmerkingen of tips bij de opdrachten zullen hier worden bekendgemaakt.

Toetsing

Twee programmeeropdrachten in de loop van het semester, en schriftelijk tentamen aan het eind van het semester. Het minimumcijfer voor elke programmeeropdracht is 0, het minimumcijfer voor het tentamen is 1. Zowel tentamen als (beide) programmeeropdrachten moeten voldoende (>=5.5) zijn. In dat geval is het eindcijfer van het vak een gewogen gemiddelde van de cijfers voor het tentamen (drie kwart) en de programmeeropdrachten (samen een kwart). We wijken met deze weging af van de studiegids, omdat we nog maar twee programmeeropdrachten hebben in plaats van drie.

Als het tentamencijfer minder dan 5.5 is, is het tentamencijfer tevens het eindcijfer. Als het tentamen voldoende is, maar niet alle programmeeropdrachten voldoende zijn, volgt er nog geen eindcijfer. In dit laatste geval blijft het voldoende tentamencijfer staan totdat het programmeerwerk is afgerond. Voldoende deelcijfers voor losse programmeeropdrachten uit eerdere jaren kunnen niet automatisch meegenomen worden naar het nieuwe jaar (zie ook het paragraafje `Cijfers uit eerdere jaren' hieronder).

Cijfers uit eerdere jaren

Wie in een eerder jaar het tentamen wel heeft gehaald, maar het practicum nog niet heeft afgerond, kan het (voldoende) tentamencijfer meenemen naar dit jaar.
Wie, omgekeerd, in een eerder jaar het practicum (alle (toen nog) drie de opdrachten) heeft afgerond, maar het tentamen nog niet heeft gehaald, kan het gemiddelde practicumcijfer meenemen naar dit jaar.
Wie in een eerder jaar (of meerdere jaren) één of twee losse opdrachten heeft afgerond, kan de cijfers daarvoor niet per se meenemen naar dit jaar. Het kan wel standaard met de cijfers voor de volgende opdrachten: 2017 (opdracht 1), 2018 (1,2), 2019 (1,2,3), 2020 (1,2), 2021 (1,2,3), 2022 (1,2,3), 2023 (1,2,3), 2024 (1,2), 2025 (1,2,3).
N.B.: Opdrachten 1 en 2 uit een eerder jaar gelden samen als vrijstelling voor opdracht 1 van dit jaar. Opdracht 3 uit een eerder jaar geldt als vrijstelling voor opdracht 2 van dit jaar.
Ouderejaars die zich afvragen of ze cijfers van andere opdrachten mee mogen nemen, moeten contact opnemen met de docent: rvvliet(at)liacs(dot)nl.
Wanneer deelresultaten uit een eerder jaar geldig blijven, is het niet nodig en niet de bedoeling om de betreffende opdracht(en) opnieuw te maken. Je mag hoogstens één keer (in totaal, over alle jaren) proberen om een reeds voldoende deelresultaat te verbeteren.

Tentamens

Grafische/programmeerbare rekenmachines zijn niet toegestaan tijdens het tentamen.

Er zijn twee tentamens gepland, allebei on-campus:
Eerste tentamen: vrijdagmiddag 5 juni 2025, 13.15-16.15, in zaal C3 in de schotel (Lecture Hall).
Hertentamen: maandagmiddag 29 juni 2025, 13.15-16.15 uur, in zaal BE.0.18 in het Gorlaeus.
De cijfers van de tentamens worden gepubliceerd in Brightspace. Zorg dus dat je voor de cursus geregistreerd staat in Brightspace.

Vragenuur

Indien daar belangstelling voor bestaat, kan er een vragenuur voor het (eerste) tentamen worden ingepland. Daarbij kun je dan de vragen stellen die opgekomen zijn bij het leren voor het tentamen.

Oude tentamens


Het vak Algoritmiek wordt al vele jaren gegeven. De vorige keer was in het voorjaar van 2025. De website van die keer vindt u hier. U vindt daar ook nog meer oude tentamens.
Vragen en/of opmerkingen kunt u sturen naar:
Rudy van Vliet; rvvliet(at)liacs(dot)nl
Laatste wijziging: 22 december 2025 - https://liacs.leidenuniv.nl/~vlietrvan1/algoritmiek/