Deze website gebruikt cookies (en daarmee vergelijkbare technieken) om het bezoek voor u nog makkelijker en persoonlijker te maken. Met deze cookies kunnen wij en derde partijen uw internetgedrag binnen en buiten onze website volgen en verzamelen.
Hiermee kunnen wij en derde partijen advertenties aanpassen aan uw interesses en kunt u informatie delen via social media.
Klik op 'Ik ga akkoord' om cookies te accepteren en direct door te gaan naar de website of klik op om uw voorkeuren voor cookies te wijzigen. Bekijk onze privacyverklaring voor meer informatie.
$altText
Datastructuren en algoritmen
Informatica en informatiekunde | 5 EC | Voor dit product gelden ingangseisen
Code IB1502
Prijsindicatie € 324
Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.

Algemeen

Inhoud

Om goed te kunnen programmeren is een aantal vaardigheden belangrijk. U moet allereerst vertrouwd zijn met de taalconstructies van de programmeertaal waarin u programmeert en u moet in staat zijn om uw programma op een logische en heldere manier te structureren in deelcomponenten. Aan deze vaardigheden wordt in de cursussen Objectgeoriënteerd programmeren en Geavanceerd objectgeoriënteerd programmeren ruime aandacht besteed. In deze cursussen wordt echter relatief weinig aandacht besteed aan algoritmen en de datastructuren waarop deze algoritmen werken. U kunt hierbij denken aan methoden en technieken om gegevens op te slaan, snel op te zoeken, te sorteren, of op een efficiënte manier een optimale weg te vinden in een netwerk. In deze cursus wordt een overzicht gegeven van de datastructuren waarmee gegevens kunnen worden vastgelegd en van de bijbehorende algoritmen.

Na drie inleidende hoofdstukken over ontwerpprincipes en analysetechnieken worden in negen hoofdstukken de basisdatastructuren (en de hierop werkende algoritmen) uit de informatica behandeld: stapels (stacks), wachtrijen (queues), rijen (sequences), (zoek)bomen, prioriteitswachtrijen (priority queues), verzamelingen en (gewogen) grafen. Ook wordt aandacht besteed aan recursie. De algoritmen worden in veel gevallen gepresenteerd in een taalonafhankelijke pseudocode; daarnaast wordt regelmatig (een deel van) de implementatie in Java getoond. Behalve de behandeling van de algoritmen zelf wordt ook de nodige aandacht besteed aan de analyse van algoritmen, in het bijzonder om te kunnen voorspellen hoeveel tijd een algoritme kost voor een probleem van een bepaalde omvang. Een zelfde soort analyse wordt gebruikt voor het bepalen van het ruimtebeslag van de datastructuren waarop de algoritmen werken. Voor deze analyses is een enigszins wiskundige benadering noodzakelijk. Aan het eind van de cursus heeft u een overzicht gekregen van en een inzicht in de standaarddatastructuren en -algoritmen.

Aanmelden

Ingangseisen

Aanmelden voor en deelnemen aan de tentamens van deze cursus in het kader van de bacheloropleiding Informatica kan pas nadat u bent aangemeld voor Objectgeoriënteerd programmeren (IB1102), Geavanceerd objectgeoriënteerd programmeren (IB0902) en Logica, verzamelingen en relaties (IB0402) of, indien u hiervoor bent vrijgesteld, voldoet aan de ingangseisen die voor deze cursussen gelden.

Toelichting aanmelden

Deze cursus start 1 september 2019. We adviseren om uiterlijk donderdag 15 augustus 2019 hiervoor aan te melden zodat u tijdig het eventuele cursusmateriaal ontvangt, toegang heeft tot de leeromgeving en (indien van toepassing) ingedeeld kunt worden in een studiegroep. Bij aanmelding na 15 augustus 2019 kunnen we dit niet garanderen. Aanmelden is mogelijk tot en met 31 augustus 2019.

De cursus wordt éénmaal per academisch jaar aangeboden.

Begeleiding

Begeleidingsvorm

Deze cursus heeft een vast startmoment. Kijk in het Jaarrooster wanneer de cursus van start gaat en wanneer de begeleiding is ingeroosterd.

Bij de cursus worden online bijeenkomsten aangeboden in de periode van september t/m november.

Begeleidingsbijeenkomsten


Online bijeenkomsten
Kwartiel 1 - begeleider: dhr. dr. S. de Gouw
1. ma 02-09-2019 / 19.00-21.00 uur
2. ma 16-09-2019 / 19.00-21.00 uur
3. ma 30-09-2019 / 19.00-21.00 uur
4. ma 14-10-2019 / 19.00-21.00 uur
5. ma 28-10-2019 / 19.00-21.00 uur

Docenten

dhr. dr. S. de Gouw en mw. drs. J. Lodder.

Bereikbaarheidsoverzicht

Bereikbaarheidsinformatie docenten/examinatoren

Tentamen

Tentamenvorm

Regulier schriftelijk tentamen bestaande uit open vragen (ov) en een opdracht.

Tentamentoelichting

U dient zelf tijdig aan te melden voor een tentamen.

Het betreft een schriftelijk tentamen met open vragen en huiswerkopdrachten.
Het eindcijfer voor het vak wordt bepaald door het gemiddelde van de serie huiswerkopdrachten en het schriftelijk tentamen, waarbij het huiswerk tweemaal zo zwaar meetelt als het tentamen. Ook moeten beide deelcijfers voldoende zijn.

Tentamendata

Schriftelijk tentamen: 09-07-2019, 14-11-2019, 06-02-2020, 07-07-2020.
Opdracht: volgens afspraak.

Tentamenhulpmiddelen

Een 'schoon' verklarend Nederlands woordenboek (op eigen risico)
Een 'schoon' exemplaar van het tekst en een 'schoon' exemplaar van het werkboek

Meer info

Meer informatie

Voor een inkijkje in de cursus, ga naar de snapshot van de voorgaande cursus (T26241 Datastructuren en algoritmen).

Cursusmateriaal

De cursus bestaat uit een werkboek en het Engelstalige tekstboek Data Structures and Algorithms in Java van M.T. Goodrich en R. Tamassia, 6th edition.

Mediagebruik

Tijdens het bestuderen van de cursus kunt u demo’s bekijken van de werking van algoritmes. Daarvoor is een browser noodzakelijk. Verder kunt u desgewenst de beschikbaar gestelde Java-code uitproberen in de programmeeromgeving zoals gebruikt in eerdere programmeercursussen; dit is echter niet noodzakelijk.

Digitale leeromgeving

Bij de cursus hoort een cursussite in de digitale leeromgeving. U vindt daar actuele studie-informatie, aanvullend cursusmateriaal en voorzieningen voor communicatie en discussie met docent en medestudenten.