- Nazwa przedmiotu:
- Algorytmy i struktury danych
- Koordynator przedmiotu:
- Jacek Marciniak
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Geoinformatyka
- Grupa przedmiotów:
- Obowiązkowe
- Kod przedmiotu:
- 1060-GI000-ISP-1006
- Semestr nominalny:
- 1 / rok ak. 2020/2021
- Liczba punktów ECTS:
- 2
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- Udział w zajęciach, wykłady: 15 godzin,
Udział w zajęciach, ćwiczenia: 15 godzin,
Zapoznanie z literaturą: 6 godzin,
Sprawozdania, raporty z zajęć, prace domowe: 10 godzin,
Przygotowanie do kolokwium: 12 godzin,
Udział w konsultacjach: 2 godziny
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1,1 punktu ECTS:
Udział w zajęciach, wykłady: 15 godzin,
Udział w zajęciach, ćwiczenia: 15 godzin,
Udział w konsultacjach: 2 godziny
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 0,9 punktu ECTS:
Udział w zajęciach, ćwiczenia: 15 godzin,
Sprawozdania, raporty z zajęć, prace domowe: 10 godzin,
Udział w konsultacjach: 2 godziny
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład15h
- Ćwiczenia15h
- Laboratorium0h
- Projekt0h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Limit liczby studentów:
- Cel przedmiotu:
- Celem przedmiotu jest zapoznanie studentów z podstawowymi algorytmami scalania, sortowania i wyszukiwania stosowanymi w informatyce. W ramach przedmiotu przekazana jest wiedza o różnych technikach projektowania algorytmów (np. "dziel i zwyciężaj"), sposobach wyznaczania ich złożoności oraz ugruntowana umiejętność formułowania algorytmów w języku programowania.
- Treści kształcenia:
- 1. Podstawowe pojęcia: sposoby opisu algorytmów, schematy blokowe, techniki tworzenia algorytmów, rekurencja, dziel i zwyciężaj
2. Złożoność obliczeniowa algorytmów: czasowa i pamięciowa, rząd funkcji, notacja O()
3. Podstawowe struktury danych: tablica, lista
4. Abstrakcyjne struktury danych: kolejka, stos, tablica asocjacyjna, kolejka priorytetowa
5. Algorytmy wyszukiwania i scalania
6. Elementarne metody sortowania: bąbelkowe, przez wybieranie, przez wstawianie
7. Sortowanie Shella, Sortowanie szybkie, Sortowanie przez scalanie
8. Sortowanie stabilne, tablica częściowo posortowana, sortowanie hybrydowe, sortowanie systemowe
9. Drzewa poszukiwań binarnych, operacje na drzewach
10 Równoważenie drzew poszukiwań binarnych, drzewa samoorganizujące się
11. Tablice haszujące
12. Tablica asocjacyjna
- Metody oceny:
- Ocena z wykładu
- 2 kolokwia, do zdobycia 50 punktów z każdego.
- Progi zaliczenia: 2 [0-50pkt], 3 [50-60pkt], 3.5 [60-70pkt], 4 [70-80pkt], 4.5 [80-90pkt], 5 [90-100pkt].
- Warunek otrzymania pozytywnej oceny - minimum 20pkt z każdego kolokwium i sumy 50pkt z obu.
- Możliwość poprawienia obu kolokwiów - jeden termin poprawkowy.
Ocena z ćwiczeń
- Ćwiczenia samodzielne z analizy i implementacji algorytmów.
- Oceniana poprawność rozwiązania, wybór odpowiednich algorytmów oraz jakość kodu programu lub raportu.
- Ćwiczenia oceniane są w skali punktowej. Liczba punktów do zdobycia zależy od złożoności ćwiczenia.
- Maksymalnie do zdobycie 100 punktów.
- Ocena końcowa według takich samych kryteriów jak dla wykładu.
Ocena końcowa z przedmiotu:
- Ocena oparta o średnią wartość punktów z wykładów i ćwiczeń według kryteriów oceny jak dla wykładu
- Warunkiem uzyskania oceny pozytywnej jest zaliczenie wykładu i ćwiczeń na oceny pozytywne
- Egzamin:
- nie
- Literatura:
- "Algorytmy, struktury danych i techniki programowania", Wydanie IV, Piotr Wróblewski, Helion;
"Algorytmy", Robert Sedgewick, Wydanie IV, Kevin Weyne, Helion;
"Wprowadzenie do algorytmów", Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Wydawnictwo Naukowe PWN
- Witryna www przedmiotu:
- Uwagi:
Efekty uczenia się
Profil praktyczny - wiedza
- Charakterystyka GI.ISP-1006_W01
- zna podstawowe pojęcia i techniki dotyczące projektowania i analizy algorytmów stosowanych w informatyce, rozumie zasadę działania rekurencji oraz techniki „dziel i rządź”
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W04
Powiązane charakterystyki obszarowe:
I.P6S_WG
- Charakterystyka GI.ISP-1006_W02
- zna złożoność czasową podstawowych algorytmów sortowania i wyszukiwania z uwzględnieniem przypadków szczególnych
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W04
Powiązane charakterystyki obszarowe:
I.P6S_WG
- Charakterystyka GI.ISP-1006_W03
- zna podstawowe struktury danych oraz przykłady algorytmów, które je wykorzystują
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_W04
Powiązane charakterystyki obszarowe:
I.P6S_WG
Profil praktyczny - umiejętności
- Charakterystyka GI.ISP-1006_U01
- potrafi oszacować złożoność obliczeniową prostego algorytmu
Weryfikacja: Kolokwium
Powiązane charakterystyki kierunkowe:
K_U01
Powiązane charakterystyki obszarowe:
I.P6S_UW
- Charakterystyka GI.ISP-1006_U02
- potrafi formułować algorytmy w języku programowania i dobierać odpowiednie struktury danych
Weryfikacja: Ćwiczenia - implementacja programów wykorzystujących poznane zagadnienia teoretyczne
Powiązane charakterystyki kierunkowe:
K_U01, K_U02, K_U15
Powiązane charakterystyki obszarowe:
I.P6S_UW, I.P6S_UO
- Charakterystyka GI.ISP-1006_U03
- potrafi zastosować wybrane algorytmy w zakresie sortowania i wyszukiwania do rozwiązania bardziej złożonych problemów programistycznych
Weryfikacja: Ćwiczenia - implementacja programów wykorzystujących poznane zagadnienia teoretyczne
Powiązane charakterystyki kierunkowe:
K_U01, K_U02, K_U15
Powiązane charakterystyki obszarowe:
I.P6S_UW, I.P6S_UO
Profil praktyczny - kompetencje społeczne
- Charakterystyka GI.ISP-1006_K01
- potrafi uzupełniać i doskonalić nabytą wiedzę i umiejętności z zakresu struktur danych i algorytmów operujących na tych strukturach
Weryfikacja: Kolokwium, ćwiczenia
Powiązane charakterystyki kierunkowe:
K_K01
Powiązane charakterystyki obszarowe:
I.P6S_KK
- Charakterystyka GI.ISP-1006_K02
- potrafi przeanalizować problem, wybrać i przedyskutować odpowiednią metodę rozwiązania
Weryfikacja: Kolokwium, ćwiczenia
Powiązane charakterystyki kierunkowe:
K_K04
Powiązane charakterystyki obszarowe:
I.P6S_KO, I.P6S_KR