Toegangseisen
Dit college is een vervolg op het college Algoritmiek. Daarom wordt begrip van de relevante stof uit dat vak aangenomen.
Beschrijving
Algoritmen en datastructuren vormen een onafscheidbaar stel. Enerzijds zijn goed ontworpen datastrcuturen essentieel om efficent algoritmische problemen op te lossen. Zo gebruiken we Adjacency lists en Priority queues om het algoritme van Dijkstra voor kortste paden op te lossen. Anderzijds worden bij niet-triviale datastructuren slimme algoritmes gebruikt om de structuur aan te passen wanneer er gegevens worden toegevoegd of verwijderd.
Bij het gebruik en implementatie maken we onderscheid tussen abstracte datastructuren en de concrete implementaties daarvan. De basis structuur Stack (of Stapel) met operaties Pop en Push kan bijvoorbeeld geimplementeerd worden ofwel met behulp van een array ofwel als gelinkte lijst.
In dit college zullen we de standaard datastructuren zoals stapels (stacks), rijen (queues), lijsten (lists), binaire en multiway bomen, priority queues, en grafen de revue laten passeren. Elk van deze gegevensstructuren kun je karakteriseren vanwege hun (interne) structuur en hun methoden (tests op, en wijzigen van, de opgeslagen gegevens). We schetsen mogelijk implementaties van de abstracte structuren, en bekijken de consequenties voor de efficientie van de operaties.
Onderwerpen: Linked Lists, Stacks, Queues, Binary Trees, Multiway Trees, Graphs, Hashing, Data Compression, String Matching, Randomized Algorithms
Leerdoelen
Inzicht en gebruik van standaard datastructuren en bijbehorende algoritmen, verkrijgen van enig inzicht in efficiëntie verschillen, abstract leren denken: onderscheid gebruik en implementatie.
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 en daarnaast 2 uur werkcollege, begeleid werken aan programmeeropdrachten.
Toetsing en weging
Schriftelijk. Daarnaast moet aan alle verplichte programmeeropdrachten zijn voldaan.
Literatuurlijst
Er is een uitgewerkt diktaat beschikbaar met de collegestof. Die stof is hoordfzakelijk gabaseerd op het boek van Adam Drozdek, Data Structures and Algorithms in C++, 4th/International Edition. Dit boek is niet verplicht, maar aanbevolen voor wie het dictaat te compact is.
Inschrijven
Met ingang van het collegejaar 2022-2023 ben je als student zelf verantwoordelijk om je tijdig, dat wil zeggen 14 of 28 dagen voor aanvang van het vak, in te schrijven. Dat kan via Mystudymap. Dit doe je twee keer per jaar: één keer voor de vakken die je wilt volgen in semester 1 en één keer voor de vakken die je wilt volgen in semester 2.
Inschrijven voor vakken in het eerste semester is mogelijk vanaf juli; inschrijven voor vakken in het tweede semester is mogelijk vanaf december. Zie voor meer informatie deze pagina (tab Wiskunde en Natuurwetenschappen)
Daarnaast is het voor alle studenten, inclusief eerstejaars bachelorstudenten, verplicht om zich in te schrijven voor tentamens én de inschrijving voor elk tentamen in My Studymap te bevestigen. Dit kan tot en met uiterlijk 10 kalenderdagen voorafgaand aan het tentamen. Zonder geldige voorinschrijving én bevestiging in My Studymap kun je niet deelnemen aan het tentamen.
Uitgebreide informatie over de werking van MyStudyMap vind je hier.
Contact
Onderwijscoördinator LIACS bachelors
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.