Uniwersytet Ślaski w Katowicach - Centralny System Uwierzytelniania
Strona główna

ALGORYTMY I STRUKTURY DANYCH

Informacje ogólne

Kod przedmiotu: W4-IS-S1-AISD
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH
Jednostka: Wydział Nauk Ścisłych i Technicznych
Grupy:
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: (brak danych)
Rodzaj przedmiotu:

obowiązkowy

Zajęcia w cyklu "semestr zimowy 2020/2021" (zakończony)

Okres: 2020-10-01 - 2021-02-21
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Konwersatorium, 15 godzin, 75 miejsc więcej informacji
Laboratorium, 30 godzin, 75 miejsc więcej informacji
Wykład, 30 godzin, 75 miejsc więcej informacji
Koordynatorzy: Michał Baczyński
Prowadzący grup: Michał Baczyński, Katarzyna Miś, Andrzej Tomski, Paulina Trybek
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Konwersatorium - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Sposób ustalania oceny końcowej:

Ocena końcowa jest obliczana jako średnią arytmetyczna wszystkich ocen z laboratorium, konwersatorium oraz egzaminu. Jeżeli któraś z końcowych (ostatecznych) ocen cząstkowych jest oceną niedostateczna (2.0), to ocena końcowa również jest niedostateczna.


Przy założeniu, że ocenom przyporządkowuje się następujące wartości

dostateczny - 3,0

dostateczny plus - 3,5

dobry - 4,0

dobry plus - 4,5

bardzo dobry - 5,0

ocena końcowa obliczona na podstawie wyznaczonej średniej przyporządkowana jest następująco:

do 3,25 – dostateczny;

od 3,26 do 3,75 – dostateczny plus;

od 3,76 do 4,25 – dobry;

od 4,26 do 4,75 – dobry plus;

od 4,76 do 5,00 – bardzo dobry.

Pełny opis:

Elementy algorytmiki: problem i jego specyfikacja; algorytm i różne sposoby jego zapisu.

Elementy analizy algorytmów. Rozmiar danych, złożoność obliczeniowa (czasowa i pamięciowa). Typy złożoności: pesymistyczna,

optymistyczna, średnia. Notacja asymptotyczna, rzędy wielkości funkcji.

Algorytmy rekurencyjne, przykłady. Rozwiązywanie równań rekurencyjnych na potrzeby analizy algorytmów rekurencyjnych.

Wyszukiwanie. Analiza wybranych metod: wyszukiwanie liniowe, wyszukiwanie binarne, wyszukiwanie interpolacyjne. Problem wyboru

(selekcja).

Sortowanie. Analiza wybranych algorytmów: sortowanie przez wstawianie, przez selekcję, przez scalanie, przez kopcowanie, szybkie. Model drzew decyzyjnych i twierdzenie o dolnym ograniczeniu na czas działania algorytmów sortujących za pomocą porównań. Sortowanie w czasie liniowym.

Techniki projektowania algorytmów: dziel i zwyciężaj, programowanie dynamiczne, algorytmy zachłanne, przeszukiwanie z nawrotami.

Ilustracja omawianych metod na konkretnych przykładach.

Abstrakcyjne struktury danych: stosy, kolejki, kolejki priorytetowe, słowniki. Metody implementacji powyższych struktur (listy, kopce binarne, drzewa, drzewa poszukiwań binarnych) i ich zastosowania.

Implementacja poznanych algorytmów w języku Python.

Uwagi:

Na zajęciach wykorzystuje się język programowania PYTHON, ale wybrane algorytmy pokazuje się również w języku C lub C++.

Zajęcia w cyklu "semestr zimowy 2021/2022" (zakończony)

Okres: 2021-10-01 - 2022-02-20
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Konwersatorium, 15 godzin, 75 miejsc więcej informacji
Laboratorium, 30 godzin, 75 miejsc więcej informacji
Wykład, 30 godzin, 75 miejsc więcej informacji
Koordynatorzy: Michał Baczyński
Prowadzący grup: Michał Baczyński, Katarzyna Miś, Andrzej Tomski, Paulina Trybek
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Konwersatorium - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Sposób ustalania oceny końcowej:

Ocena końcowa jest obliczana jako średnią arytmetyczna wszystkich ocen z laboratorium, konwersatorium oraz egzaminu. Jeżeli któraś z końcowych (ostatecznych) ocen cząstkowych jest oceną niedostateczna (2.0), to ocena końcowa również jest niedostateczna.


Przy założeniu, że ocenom przyporządkowuje się następujące wartości

dostateczny - 3,0

dostateczny plus - 3,5

dobry - 4,0

dobry plus - 4,5

bardzo dobry - 5,0

ocena końcowa obliczona na podstawie wyznaczonej średniej przyporządkowana jest następująco:

do 3,25 – dostateczny;

od 3,26 do 3,75 – dostateczny plus;

od 3,76 do 4,25 – dobry;

od 4,26 do 4,75 – dobry plus;

od 4,76 do 5,00 – bardzo dobry.

Pełny opis:

Elementy algorytmiki: problem i jego specyfikacja; algorytm i różne sposoby jego zapisu.

Elementy analizy algorytmów. Rozmiar danych, złożoność obliczeniowa (czasowa i pamięciowa). Typy złożoności: pesymistyczna,

optymistyczna, średnia. Notacja asymptotyczna, rzędy wielkości funkcji.

Algorytmy rekurencyjne, przykłady. Rozwiązywanie równań rekurencyjnych na potrzeby analizy algorytmów rekurencyjnych.

Wyszukiwanie. Analiza wybranych metod: wyszukiwanie liniowe, wyszukiwanie binarne, wyszukiwanie interpolacyjne. Problem wyboru

(selekcja).

Sortowanie. Analiza wybranych algorytmów: sortowanie przez wstawianie, przez selekcję, przez scalanie, przez kopcowanie, szybkie. Model drzew decyzyjnych i twierdzenie o dolnym ograniczeniu na czas działania algorytmów sortujących za pomocą porównań. Sortowanie w czasie liniowym.

Techniki projektowania algorytmów: dziel i zwyciężaj, programowanie dynamiczne, algorytmy zachłanne, przeszukiwanie z nawrotami.

Ilustracja omawianych metod na konkretnych przykładach.

Abstrakcyjne struktury danych: stosy, kolejki, kolejki priorytetowe, słowniki. Metody implementacji powyższych struktur (listy, kopce binarne, drzewa, drzewa poszukiwań binarnych) i ich zastosowania.

Implementacja poznanych algorytmów w języku Python.

Uwagi:

Na zajęciach wykorzystuje się język programowania PYTHON, ale wybrane algorytmy pokazuje się również w języku C lub C++.

Zajęcia w cyklu "semestr zimowy 2022/2023" (zakończony)

Okres: 2022-10-01 - 2023-02-26
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Konwersatorium, 15 godzin, 75 miejsc więcej informacji
Laboratorium, 30 godzin, 75 miejsc więcej informacji
Wykład, 30 godzin, 75 miejsc więcej informacji
Koordynatorzy: Michał Baczyński
Prowadzący grup: Michał Baczyński, Katarzyna Miś, Andrzej Tomski, Paulina Trybek
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Konwersatorium - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Sposób ustalania oceny końcowej:

Ocena końcowa jest obliczana jako średnią arytmetyczna wszystkich ocen z laboratorium, konwersatorium oraz egzaminu. Jeżeli któraś z końcowych (ostatecznych) ocen cząstkowych jest oceną niedostateczna (2.0), to ocena końcowa również jest niedostateczna.


Przy założeniu, że ocenom przyporządkowuje się następujące wartości

dostateczny - 3,0

dostateczny plus - 3,5

dobry - 4,0

dobry plus - 4,5

bardzo dobry - 5,0

ocena końcowa obliczona na podstawie wyznaczonej średniej przyporządkowana jest następująco:

do 3,25 – dostateczny;

od 3,26 do 3,75 – dostateczny plus;

od 3,76 do 4,25 – dobry;

od 4,26 do 4,75 – dobry plus;

od 4,76 do 5,00 – bardzo dobry.

Pełny opis:

Elementy algorytmiki: problem i jego specyfikacja; algorytm i różne sposoby jego zapisu.

Elementy analizy algorytmów. Rozmiar danych, złożoność obliczeniowa (czasowa i pamięciowa). Typy złożoności: pesymistyczna,

optymistyczna, średnia. Notacja asymptotyczna, rzędy wielkości funkcji.

Algorytmy rekurencyjne, przykłady. Rozwiązywanie równań rekurencyjnych na potrzeby analizy algorytmów rekurencyjnych.

Wyszukiwanie. Analiza wybranych metod: wyszukiwanie liniowe, wyszukiwanie binarne, wyszukiwanie interpolacyjne. Problem wyboru

(selekcja).

Sortowanie. Analiza wybranych algorytmów: sortowanie przez wstawianie, przez selekcję, przez scalanie, przez kopcowanie, szybkie. Model drzew decyzyjnych i twierdzenie o dolnym ograniczeniu na czas działania algorytmów sortujących za pomocą porównań. Sortowanie w czasie liniowym.

Techniki projektowania algorytmów: dziel i zwyciężaj, programowanie dynamiczne, algorytmy zachłanne, przeszukiwanie z nawrotami.

Ilustracja omawianych metod na konkretnych przykładach.

Abstrakcyjne struktury danych: stosy, kolejki, kolejki priorytetowe, słowniki. Metody implementacji powyższych struktur (listy, kopce binarne, drzewa, drzewa poszukiwań binarnych) i ich zastosowania.

Implementacja poznanych algorytmów w języku Python.

Uwagi:

Na zajęciach wykorzystuje się język programowania PYTHON, ale wybrane algorytmy pokazuje się również w języku C lub C++.

Zajęcia w cyklu "semestr zimowy 2023/2024" (zakończony)

Okres: 2023-10-01 - 2024-02-18
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Konwersatorium, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 30 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Michał Baczyński
Prowadzący grup: Michał Baczyński, Katarzyna Miś, Andrzej Tomski, Paulina Trybek
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Konwersatorium - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Sposób ustalania oceny końcowej:

Ocena końcowa jest obliczana jako średnią arytmetyczna wszystkich ocen z laboratorium, konwersatorium oraz egzaminu. Jeżeli któraś z końcowych (ostatecznych) ocen cząstkowych jest oceną niedostateczna (2.0), to ocena końcowa również jest niedostateczna.


Przy założeniu, że ocenom przyporządkowuje się następujące wartości

dostateczny - 3,0

dostateczny plus - 3,5

dobry - 4,0

dobry plus - 4,5

bardzo dobry - 5,0

ocena końcowa obliczona na podstawie wyznaczonej średniej przyporządkowana jest następująco:

do 3,25 – dostateczny;

od 3,26 do 3,75 – dostateczny plus;

od 3,76 do 4,25 – dobry;

od 4,26 do 4,75 – dobry plus;

od 4,76 do 5,00 – bardzo dobry.

Pełny opis:

Elementy algorytmiki: problem i jego specyfikacja; algorytm i różne sposoby jego zapisu.

Elementy analizy algorytmów. Rozmiar danych, złożoność obliczeniowa (czasowa i pamięciowa). Typy złożoności: pesymistyczna,

optymistyczna, średnia. Notacja asymptotyczna, rzędy wielkości funkcji.

Algorytmy rekurencyjne, przykłady. Rozwiązywanie równań rekurencyjnych na potrzeby analizy algorytmów rekurencyjnych.

Wyszukiwanie. Analiza wybranych metod: wyszukiwanie liniowe, wyszukiwanie binarne, wyszukiwanie interpolacyjne. Problem wyboru

(selekcja).

Sortowanie. Analiza wybranych algorytmów: sortowanie przez wstawianie, przez selekcję, przez scalanie, przez kopcowanie, szybkie. Model drzew decyzyjnych i twierdzenie o dolnym ograniczeniu na czas działania algorytmów sortujących za pomocą porównań. Sortowanie w czasie liniowym.

Techniki projektowania algorytmów: dziel i zwyciężaj, programowanie dynamiczne, algorytmy zachłanne, przeszukiwanie z nawrotami.

Ilustracja omawianych metod na konkretnych przykładach.

Abstrakcyjne struktury danych: stosy, kolejki, kolejki priorytetowe, słowniki. Metody implementacji powyższych struktur (listy, kopce binarne, drzewa, drzewa poszukiwań binarnych) i ich zastosowania.

Implementacja poznanych algorytmów w języku Python.

Uwagi:

Na zajęciach wykorzystuje się język programowania PYTHON, ale wybrane algorytmy pokazuje się również w języku C lub C++.

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Ślaski w Katowicach.
kontakt deklaracja dostępności USOSweb 7.0.3.0-1 (2024-04-02)