Toegangseisen
Aanbevolen voorkennis: Programmeermethoden.
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.
Leerdoelen
Het leren toepassen van diverse probleemoplossingsmethoden.
Het leren en bestuderen van enige concrete algoritmen.
Het ontwerpen van algoritmen.
Rooster
Het meest recente rooster is te vinden op de Studenten-website:
In MyTimetable (login) kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je je via MyStudymap hebt ingeschreven, worden automatisch in je rooster getoond. Daarnaast kun je My Timetable gemakkelijk koppelen aan een agenda-app op je telefoon en worden roosterwijzigingen automatisch in je agenda doorgevoerd; bovendien ontvang je desgewenst per e-mail een notificatie van de wijziging. Je kunt notificaties aanzetten bij Instellingen, na login.
Vragen? Bekijk de video, lees de instructie of neem contact op met de ISSC helpdesk. Let op: Joint Degree studenten Leiden/Delft dienen de informatie uit de Leidse en Delftse MyTimetable's samen te voegen om een volledig rooster te zien. Deze video leg uit hoe dat werkt.
Onderwijsvorm
Per week 2 uur hoorcollege, 2 uur werkcollege en 2 uur practicum. Er worden drie programmeeropdrachten gegeven. Tijdens het werkcollege worden opgaven op papier gemaakt. Tijdens de practicumbijeenkomsten wordt achter de computer aan de programmeeropdrachten gewerkt.
Toetsing en weging
Drie 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 (alle) programmeeropdrachten moeten voldoende (minstens 5.5) zijn. In dat geval is het eindcijfer van het vak een gewogen gemiddelde van de cijfers voor het tentamen (twee derde) en de programmeeropdrachten (samen een derde). 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. Voor meer informatie, zie de website van het vak.
De docent zal de studenten informeren hoe de inzage en de nabespreking van de tentamens zal plaatsvinden.
Literatuurlijst
Anany Levitin, Introduction to The Design and Analysis of Algorithms, third edition (Pearson, 2012, ISBN: 978-0-273-76411-3).
Inschrijven
From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information. An exemption is the fall semester for 1st year bachelor students, the student administration will enroll this group.
Please note that it is compulsory to register for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course.
Extensive FAQ on MyStudymap can be found here.
Contact
Onderwijscoördinator LIACS bachelors
Website
Opmerkingen
Voor meer informatie over Brightspace kun je op deze link klikken om de handleidingen van de universiteit te bekijken. Bij overige vragen of problemen kan contact opgenomen worden met de helpdesk van de universiteit Leiden.