Studiewijzer 2021/2022

Globale inhoud

Abstracte datatypen, algoritmen en hun complexiteit.

Een keuze uit de klassieke datastructuren, o.m. arrays, stapels, wachtrijen, geschakelde lijsten, heaps en hashtabellen. Het college behandel toperaties en algoritmes op deze datastructuren. Ook wordt aandacht besteed aan het gebruik van datastructuren in concrete toepassingen voor de AI.

Leerdoelen

  • De student is in staat om de impact van (in)efficiënte datastructuren en algoritmes uit te leggen voor AI specifieke problemen.
  • De student is in staat om AI-algoritmes te implementeren die gebaseerd zijn op abstracte datatypes zoals Stacks, Queues en PriorityQueues
  • The student is able to categorize the complexity of a datastructure, algorithm or section of code according to the big O notation.
  • The student is able to implement the Linked List, Resizing Array, Tree and Graph datastructures and compare their application for a specific problem.
  • The student is able to implement the Stack, Queue, Hash Table, Heap, BST and AVL ADT’s and describe the complexity of their elementary operations.
  • The student is able to implement the operations of the Heapsort, Quicksort, Merge Sort, Dijkstra and Bellman-Ford algorithms and describe their complexity.
  • The student is able to apply the greedy, dynamic programming and divide-and-conquer solution techniques to decompose and solve larger problems.
  • The student is able to design and write a computer program from scratch, based on an exact set of requirements, considering its computational complexity.
  • The student is able to write legible code, confirming to style standards set by peers and documenting their design in clear and concise language.

Onderwijsvormen

  • Hoorcollege
  • Laptopcollege

Verdeling leeractiviteiten

Activiteit

Aantal uur

Hoorcolleges

28

Laptopcollege

28

Digitale Toets

2

Zelfstudie

110

Aanwezigheid

Aanwezigheidseisen opleiding (OER-B):

  • Voor practica en werkgroepbijeenkomsten met opdrachten geldt een aanwezigheidsplicht. De invulling van deze aanwezigheidsplicht kan per vak verschillen en staat aangegeven in de studiewijzer. Wanneer studenten niet voldoen aan deze aanwezigheidsplicht kan het onderdeel niet met een voldoende worden afgerond.

Toetsing

Onderdeel en weging Details

Eindcijfer

40%

Tentamen digitaal

Moet ≥ 5 zijn

60%

Assignments

Moet ≥ 5 zijn

1 (33%)

Assignment 1

1 (33%)

Assignment 3

1 (33%)

Assignment 2

Het deelcijfer over de theoretische lesstof en het deelcijfer over de praktische oefening dient minstens een 5,0  te zijn om het vak te kunnen halen.

Inzage toetsing

De manier van inzage wordt via de digitale leeromgeving gecommuniceerd.

Opdrachten

All three programming assignments have to be made individually.

Fraude en plagiaat

Dit vak hanteert de algemene 'Fraude- en plagiaatregeling' van de UvA. Hier wordt nauwkeurig op gecontroleerd. Bij verdenking van fraude of plagiaat wordt de examencommissie van de opleiding ingeschakeld. Zie de Fraude- en plagiaatregeling van de UvA: http://student.uva.nl

Weekplanning

Weeknummer Onderwerpen
1 Collection data types
2 Algorithmic complexity, Sorting
3 Quicksort, Sets, dictionaries, and hash tables
4 Trees, Priority queues and heaps
5 Graphs: shortest paths
6 maximum spanning trees, dynamic programming
7 Advanced topics & Recap

Rooster

Het rooster van dit vak is in te zien op DataNose.

Contactinformatie

Coördinator

  • dr. Vlad Niculae

Docenten

  • Jelle Bosscher BSc
  • Richard Both MSc
  • Kylian van Geijtenbeek MSc
  • Jip Greven
  • Wouter Haringhuizen
  • Daan Korporaal BSc
  • prof. dr. C. Monz
  • Lars Veefkind BSc
  • M. Verhaar