Studiewijzer 2022/2023

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

  • The student can compare the appropriateness of different data structures (lists, trees, graphs, sets, ...) depending on the problem.
  • The student can implement the data structures and algorithms presented in class (linked lists, sorting algorithms, binary trees, heaps, hash tables, graph algorithms, dynamic programming, among others)
  • The student is able to analyze the complexity (time and space) of an algorithm in terms of big-O notation, best- and worst-case performance.
  • Differentiate between built-in Python standard library data structures by recognizing how they work behind the scenes.
  • Recognize applications of fundamental structures and algorithms, particularly in AI applications
  • Assess correctness of code, and identify bugs using tests.
  • Design new tests by thinking about assertions and invariants.
  • Develop new variants of studied data structures or algorithms, adapted to application requirements.
  • 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

0.4 (40%)

Tentamen

Moet ≥ 5 zijn

0.6 (60%)

Assignments

Moet ≥ 5 zijn

3 (30%)

Assignment 1

3 (30%)

Assignment 2

3 (30%)

Assignment 3

1 (10%)

Quizzes

In addition to the standard threshold on the final grade (per OER),  we also require

  • minimum of 5 required for the exam.
  • minimum average of 5 between the assignments.

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.

Verwerking feedback studenten

Hieronder vind je de aanpassingen in de opzet van het vak naar aanleiding van de feedback van studenten.

Contactinformatie

Coördinator

  • dr. Vlad Niculae

Docenten

  • Richard Both MSc
  • TBD