SylabUZ

Generate PDF for this page

Algorithms and Data Structures - course description

General information
Course name Algorithms and Data Structures
Course ID 11.3-WK-IiEP-ASD-L-S14_pNadGen1ZHU1
Faculty Faculty of Mathematics, Computer Science and Econometrics
Field of study Informatics and Econometrics
Education profile academic
Level of studies First-cycle studies leading to Bachelor's degree
Beginning semester winter term 2020/2021
Course information
Semester 6
ECTS credits to win 5
Available in specialities Information Systems
Course type optional
Teaching language polish
Author of syllabus
  • dr Katarzyna Jesse-Józefczyk
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Laboratory 30 2 - - Credit with grade
Lecture 30 2 - - Exam

Aim of the course

Zdobycie wiedzy i umiejętności w zakresie analizy algorytmów. Znajomość i umiejętność implementacji algorytmów sortowania i selekcji, algorytmów wyszukiwania, podstawowych algorytmów grafowych.

Prerequisites

Znajomość podstawowego kursu z analizy i algebry liniowej. Umiejętność programowania komputerów w zakresie programowania strukturalnego.

Scope

Wykład/Laboratorium

  1. Podstawowe zasady analizy algorytmów.

  2. Metody projektowania efektywnych algorytmów. Rekurencja, zasada „dziel i zwyciężaj”, algorytmy zachłanne, programowanie dynamiczne.

  3. Algorytmy sortowania i selekcji

  4. Algorytmy wyszukiwania.

  5. Struktury dynamiczne liniowe danych: kolejki, stosy, listy.

  6. Kolejki priorytetowe.

  7. Słownikowe struktury danych.

  8. Algorytmy grafowe.

  9. Algorytmy tekstowe.

  10. Biblioteki algorytmów i struktur danych.

Teaching methods

Wykład: wykład problemowy.

Laboratorium: ćwiczenia laboratoryjne w pracowni komputerowej – implementacja i testowanie wybranych algorytmów. Każdy student w trakcie semestru musi zrealizować cztery projekty. Każdy z projektów polegać będzie na zaimplementowaniu i przetestowaniu wskazanych przez prowadzącego algorytmów. Do dwóch projektów studenci będą także musieli dołączyć dokumentację zgodnie z zadaną specyfikacją. Ponadto dwa projekty będą realizowane w grupach 2-3 osobowych. Studenci będą także na zajęciach pisali programy implementujące różne inne algorytmy.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Wykład. Egzamin weryfikujący efekty kształcenia w zakresie wiedzy i umiejętności. Egzamin składa się z dwóch części, pisemnej i ustnej. Warunkiem przystąpienia do części ustnej jest uzyskanie 30% punktów z części pisemnej. Uzyskanie 50% punktów z części pisemnej gwarantuje uzyskanie pozytywnej oceny.

Laboratorium. Ocena końcowa  jest wystawiana na podstawie punktów uzyskanych na zajęciach. Punkty uzyskuje się za: napisane na zajęciach sprawdziany, zrealizowane na zajęciach projekty, aktywność na zajęciach.

Na ocenę z przedmiotu składa się ocena z laboratorium (50%) oraz ocena z egzaminu (50%). Warunkiem przystąpienia do egzaminu jest pozytywna ocena z laboratorium. Warunkiem zaliczenia przedmiotu jest pozytywna ocena z egzaminu.

Recommended reading

  1. Aho A., Hopcroft J.E., Ullman J.D.: Projektowanie i analiza algorytmów komputerowych, PWN, Warszawa 1983.
  2. Banachowski L., Diks K.,  Rytter W.: Algorytmy i struktury danych, WNT, W-wa 1996.
  3. Cormen T.H., Leiserson C.E., Rivest R.L.: Wprowadzenie do algorytmów, WNT, W-wa 1997.

Further reading

  1. Knuth D.: Sztuka programowania, t. 1-3, WNT, Warszawa 2001.
  2. Błażewicz J.: Złożoność obliczeniowa problemów kombinatorycznych, WNT, W-wa 1988.
  3. P. Wróblewski: Algorytmy, struktury danych i techniki programowania, wyd. II popr., Helion, 2001.

Notes


Modified by dr Alina Szelecka (last modification: 16-10-2020 12:29)