Voorbereiding Programmeerwedstrijden

najaar 2025

Toren Academiegebouw

Laatste nieuws

Dit vak wordt in najaar 2024 niet gegeven. Tot 2025!


Voorbereiding Programmeerwedstrijden is een extracurriculair vak binnen de bachelor Informatica aan de Universiteit Leiden. Het wordt waarschijnlijk in het najaar van 2025 voor de vierde keer gegeven.

Praktische informatie

Docent: Rudy van Vliet
te vinden op: kamer BM.2.03 van het (nieuwe) Gorlaeus
telefoon: ....
email: rvvliet(at)liacs(dot)nl
Onderwijsvorm: hoorcollege en werkcollege (practicum)
Hoorcollege: zes of zeven keer twee uur in een collegezaal
Werkcollege (practicum): zes of zeven keer twee uur in een computerzaal.

Studielast

Met het behalen van dit vak verdient u 2 EC.

Inhoud

Programmeerwedstrijden vormen een goede gelegenheid om je algoritmische programmeervaardigheden aan te scherpen. Het is daarbij motiverend als je ook goed presteert. Bij dit vak behandelen we enkele types opgaven die regelmatig voorkomen bij wedstrijden, en lossen die ook op. Te denken valt aan opgaven met strings, combinatorische opgaven, graafwandelingen, andere graafalgoritmes, dynamisch programmeren en geometrische opgaven.

Aanbevolen voorkennis: Algoritmiek.

Doelstelling

Na afloop van dit vak is de student in staat om

DOMjudge

Zowel voor het tentamen aan het eind van de colleges, als voor de huiswerkopgaven tussendoor maken we gebruik van DOMjudge bij LIACS. Hiervoor moet je als gebruiker geregistreerd zijn in dit systeem. Dit kan op twee manieren:

Toetsing

Tentamen in de vorm van een programmeerwedstrijd met vier a vijf opgaven. Datum: in overleg te bepalen.
Regels hierbij: Het minimumcijfer voor het tentamen is 1.0. Afhankelijk van de belangstelling wordt er ook een hertentamen gehouden.

Huiswerk: maximaal vier opgaven tussen de colleges door. Regels hierbij:

Punten van alle huiswerkopgaven worden genormeerd naar 10 punten totaal. Het minimumcijfer voor het huiswerk is 0.0. Het huiswerk is niet verplicht, maar is natuurlijk wel een goede oefening, en het telt mee voor het eindcijfer. Wanneer de huiswerkopgaven beschikbaar zijn, zullen ze hier worden gepubliceerd.

Bonuspunten te verdienen met goede prestaties op LKP2025 en BAPC2025:

Totale bonus is dus maximaal 1.0 punt.

Het eindcijfer is een gewogen gemiddelde van huiswerk (samen 20%) en tentamen (80%), opgehoogd met de bonus. Het maximale eindcijfer is een 10. Om het vak te halen moet het tentamencijfer minstens 5.0 zijn en het eindcijfer inclusief bonus minstens 5.5. Als het tentamencijfer lager dan 5.0 is, is het tentamencijfer tevens het eindcijfer.

Alle cijfers zullen gepubliceerd worden in Brightspace. Zorg dus dat je je daar aanmeldt voor dit vak.

Template programma

Je programma moet zijn invoer uit standard input lezen en zijn uitvoer naar standard output schrijven. Bij het testen in het jurysysteem zal de testinvoer vanuit een bestand naar de standard input worden gestuurd, en de uitvoer vanuit standard output naar een bestand. Dit laatste bestand wordt dan vergeleken met een bestand met de juiste uitvoer. Om een idee te krijgen hoe je de invoer uit standard input kunt lezen en de uitvoer naar standard output kunt schrijven, zijn hier twee versies van een helloworld opgave, met bijbehorende C++ programma's.

Vragenuur

Indien daar belangstelling voor bestaat, kan er een vragenuur voor het nog te plannen tentamen worden ingepland. Daarbij kun je dan de vragen stellen die opgekomen zijn bij het leren en oefenen voor het tentamen.

Practicum

Tijdens de werkcolleges/practicumbijeenkomsten gaan we praktisch aan de slag met opgaven uit het boek. Deze kunnen ingediend worden bij de online judge (voorheen bekend als de Universidad de Valladolid online jugde). Dit kan ook nog tussen de colleges door. Hierbij mag je in teams samenwerken.

Literatuur

Steven S. Skiena & Miguel A. Revilla, Programming Challenges - The programming contest training manual, Springer (2003), ISBN 9780387001630.

Hieruit behandelen we (onder voorbehoud) de hoofdstukken 3, 6, 9, 10, 11 en 13.

Tentamenstof

De leerstof en oefenstof voor de programmeerwedstrijd is de stof die tijdens de colleges wordt behandeld. Een overzicht hiervan zal aan het eind van de colleges gepubliceerd worden.

Behandelde stof, opgaven en slides

Voor wie door omstandigheden een hoorcollege of practicum moet missen, zullen we per week bijhouden welke stof en opgaven we hebben behandeld. U vindt dit overzicht hier (nu nog leeg natuurlijk...).

De slides die tijdens de colleges gebruikt zijn, zullen na elk college hieronder gepubliceerd worden.

Oude tentamens


Het vak Voorbereiding Programmeerwedstrijden wordt nu voor de vierde keer gegeven. De vorige keer was in het najaar van 2023. De website van die keer vindt u hier.
Vragen en opmerkingen kunt u sturen naar:
Rudy van Vliet; rvvliet(at)liacs(dot)nl
Laatste wijziging: 12 juni 2024 - http://www.liacs.leidenuniv.nl/~vlietrvan1/vbpw/