Karta Przedmiotu

Politechnika Białostocka Wydział Informatyki
Kierunek studiów Data Science Poziom i forma
studiów
pierwszego stopnia
stacjonarne
Grupa przedmiotów /
specjalność
Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Algorytmy i struktury danych E Kod przedmiotu DS1S4ASD
Rodzaj zajęć obowiązkowy
Formy zajęć i liczba godzin W Ć L P Ps T S Semestr 4
30 30 Punkty ECTS 5
Program obowiązuje od 2025/2026
Przedmioty wprowadzające Matematyka dyskretna (DS1S2MDY),   Podstawy programowania (DS1S1PPR),   Przegląd metod i narzędzi AI (DS1S2PMN),  
Cele przedmiotu Nabycie wiedzy o podstawach algorytmów i struktur danych (złożoność obliczeniowa, techniki kodowania algorytmów, wydajne struktury danych) oraz o specjalistycznych strukturach danych i algorytmach wykorzystywanych w data science i uczeniu maszynowym. Rozwój umiejętności implementacji i optymalizacji struktur danych i algorytmów, w tym na potrzeby przetwarzania danych i modeli ML/AI. Wpływ konsumpcji zasobów i złożoności obliczeniowej w kontekście zasad zrównoważonego rozwoju.

Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA:
- Programming/Software Development (PROG) - poziom 3
- Data Engineering (DENG) - poziom 3
- Data Analytics (DAAN) - poziom 3
Ramowe treści programowe Podstawowe pojęcia z zakresu algorytmiki. Techniki kodowania algorytmów: „dziel i zwyciężaj”, algorytmy zachłanne, programowanie dynamiczne. Drzewiaste struktury danych i słowniki jako narzędzia do analizy podobieństwa. Tablice haszujące oraz LSH (Locality-Sensitive Hashing). Reprezentacje grafów i podstawowe algorytmy grafowe. Struktury danych dla danych rzadkich. Metody optymalizacji, w tym stosowane w uczeniu maszynowym. Wpływ konsumpcji zasobów i złożoności obliczeniowej w kontekście zasad zrównoważonego rozwoju.
Inne informacje o przedmiocie treści przedmiotu odwołują się do zasad zrównoważonego rozwoju
przedmiot ma związek z prowadzoną na Uczelni działalnością naukową
Wyliczenie: Nakład pracy studenta związany z: Godzin
ogółem
W tym
kontaktowych
W tym
praktycznych
udziałem w wykładach 30 30
udziałem w innych formach zajęć 30 30 30
indywidualnym wsparciem merytorycznym procesu uczenia się, udziałem w egzaminie i zaliczeniach organizowanych poza planem zajęć 4 4
przygotowaniem do egzaminu 20
przygotowaniem do bieżących zajęć o charakterze praktycznym 25 25
wykonaniem projektu 16 16
Razem godzin: 125 64 71
Razem punktów ECTS: 5 2.6 2.8
Zakładane kierunkowe efekty uczenia się Wiedza Umiejętności Kompetencje
społeczne
DS1_W03 DS1_U04 DS1_K01
DS1_W08 DS1_U06
DS1_W19 DS1_U15
Cele i treści ramowe sformułował(a) dr inż. Krzysztof Ostrowski Data: 29/05/2025
Realizacja w roku akademickim 2026/2027
 
Treści programowe
Wykład
1. Podstawowe pojęcia: algorytm, złożoność czasowa, przykłady. Wpływ konsumpcji zasobów i złożoności obliczeniowej w kontekście zasad zrównoważonego rozwoju.
2. Rekurencja i technika „dziel i zwyciężaj”.
3. Wybrane algorytmy sortowania.
4. Algorytmy zachłanne.
5. Programowanie dynamiczne.
6. Drzewa BST i AVL.
7. Specjalistyczne drzewa w data science: KD- oraz prefiksowe.
8. Tablice haszujące i Locality Sensivity Hashing (LSH) jako struktura wyszukiwania podobieństwa.
9. Podstawowe pojęcia i algorytmy grafowe: najkrótsze ścieżki.
10. Struktury dla danych rzadkich, macierze rzadkie.
11. Klasy złożoność obliczeniowych: problemy P, NP, NP-hard, NP-complete. Wpływ wyboru algorytmów do implementacji i złożoności obliczeniowej w kontekście zasad zrównoważonego rozwoju.
12. Algorytmy heurystyczne i algorytmy przybliżone.
13. Optymalizacja kombinatoryczna: problem komiwojażera (TSP).
14. Optymalizacja ciągła w uczeniu maszynowym: gradient descent, minimalizacja funkcji straty.
15. Algorytmy wyszukiwania wzorca w tekście.
Pracownia specjalistyczna
1. Optymalizacja algorytmów pod względem złożoności: podstawowe problemy obliczeniowe.
2. Znaczenie złożoności algorytmów w koncepcji zrównoważonego rozwoju.
3. Techniki kodowania algorytmów w praktyce: zachłanna, prog. dynamiczne, dziel i zwyciężaj.
4. Znaczenie złożoności algorytmów i doboru struktur danych w koncepcji zrównoważonego rozwoju.
5. Znaczenie złożoności algorytmów i doboru struktur danych w koncepcji zrównoważonego rozwoju.
6. Implementacja drzew: słowników (BST/AVL) oraz specjalizowanych (KD-, sufiksowe-).
7. Implementacja drzew: słowników (BST/AVL) oraz specjalizowanych (KD-, sufiksowe-).
8. Implementacja drzew: słowników (BST/AVL) oraz specjalizowanych (KD-, sufiksowe-).
9. Rozwiązywanie problemów grafowych: najkrótsze ścieżki i TSP.
10. Rozwiązywanie problemów grafowych: najkrótsze ścieżki i TSP.
11. Rozwiązywanie problemów grafowych: najkrótsze ścieżki i TSP.
12. Optymalizacja w uczeniu maszynowym: metody gradient descent.
13. Optymalizacja w uczeniu maszynowym: metody gradient descent.
14. Optymalizacja w uczeniu maszynowym: metody gradient descent.
15. Zaliczenie pracowni specjalistycznej.
Metody dydaktyczne
(realizacja stacjonarna)
W wykład problemowy; wykład informacyjny; wykład z prezentacją multimedialną
Ps programowanie z użyciem komputera
Metody dydaktyczne
(realizacja zdalna)
W wykład problemowy; wykład informacyjny; wykład z prezentacją multimedialną
-
Forma zaliczenia
W egzamin pisemny z pytaniami otwartymi<br>PS: ocena programów
-
Warunki zaliczenia
W Uzyskanie min. 30% z każdego E1-E3, a po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów.
Kryteria oceny:
[ 0 – 50]% punktów – 2.0
(50 – 60]% punktów – 3.0
(60 – 70]% punktów – 3.5
(70 – 80]% punktów – 4.0
(80 – 90]% punktów – 4.5
(90 – 100]% punktów – 5.0
Ps Uzyskanie min. 30% z każdego E4-E7, a po spełnieniu tego warunku ostateczna ocena wynika z sumy uzyskanych punktów.
Kryteria oceny:
[ 0 – 50]% punktów – 2.0
(50 – 60]% punktów – 3.0
(60 – 70]% punktów – 3.5
(70 – 80]% punktów – 4.0
(80 – 90]% punktów – 4.5
(90 – 100]% punktów – 5.0
Symbol efektu Zakładane efekty uczenia się Odniesienie do efektów uczenia się zdefiniowanych dla kierunku studiów
Wiedza Umiejętności Kompetencje
społeczne
Wiedza: student zna i rozumie
E1 podstawowe pojęcia z zakresu algorytmiki
E2 zasady optymalizacji struktur danych i algorytmów, w tym ML wpływ konsumpcji zasobów infrastruktury i sposobów składowania danych w kontekście zasady zrównoważonego rozwoju
E3 metody implementacji efektywnych rozwiązań obliczeniowych
Umiejętności: student potrafi
E4 implementować specjalistyczne algorytmy i struktury danych, także biorąc pod uwagę efektywność i złożoność algorytmów w kontekście zrównoważonego rozwoju
E5 optymalizować algorytmy, w tym do zastosowań ML/AI
E6 analizować złożoność i efektywność rozwiązań
Kompetencje społeczne: student jest gotów do
E7 optymalizacji rozwiązań pod kątem wydajności i skalowalności
Symbol efektu Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
E1 egzamin pisemny W
E2 egzamin pisemny W
E3 egzamin pisemny W
E4 implementacja programów Ps
E5 implementacja programów Ps
E6 implementacja programów Ps
E7 implementacja programów Ps
Literatura podstawowa
1. T.H. Cormen, C.E. Leiserson, R.L. Rivest, S. Clifford, Wprowadzenie do algorytmów, Wydawnictwo Naukowe, 2020
2. A.V. Aho, J.E. Hopcroft, J.D. Ullman, Projektowanie i analiza algorytmów komputerowych, PWN, Warszawa, 2007
3. C.M. Biship, H. Bishop: Deep Learning: Foundations and Concepts, Springer, 2023
Literatura uzupełniająca
1. L. Banachowski, W. Rytter, K.M. Diks, Algorytmy i struktury danych, Wydawnictwo Naukowe PWN, Warszawa, 2018
. -
Koordynator przedmiotu: dr inż. Anna Borowska, dr Joanna Karbowska-Chilińska, dr inż. Krzysztof Ostrowski Data: 04/06/2025