Conducted in
terms:
2022/23L, 2024/25, 2025/26
ISCED code: 0613
ECTS credits:
10
Language:
Polish
Organized by:
Faculty of Mathematics and Computer Science
Algorithms and data structures 1000-ZiASD
This course has not yet been described...
Total student workload
(in Polish) 1. Godziny realizowane z udziałem nauczycieli
a) wykład – 30 godzin,
b) laboratorium – 30 godziny,
c) bieżące przygotowanie do zajęć, w tym rozwiązywanie zadań zleconych przez prowadzących, zapoznanie się z informacją zwrotną dotyczącą rozwiązanych zadań oraz konsultacje z prowadzącymi zajęcia – 60 godzin.
2. Czas poświęcony na pracę indywidualną studenta potrzebny do pomyślnego zaliczenia przedmiotu:
a) studiowanie literatury – 30 godzin,
b) zapoznanie się z materiałami dodatkowymi – 45 godzin,
c) wykonanie zadań domowych – 60 godzin.
3. Czas wymagany do przygotowania się do uczestnictwa w procesie oceniania (np. w egzaminach):
a) przygotowanie się do egzaminu – 45 godzin.
RAZEM: 300 godz.
12 pkt. ECTS
Learning outcomes - knowledge
(in Polish) Po zakończeniu przedmiotu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów pierwszego stopnia na kierunku informatyka - studia inżynierskie):
W1: ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie programowania, algorytmów i złożoności obliczeniowej - K_W02;
W2: zna dynamiczne struktury danych wykorzystywane w algorytmach (stos, kolejka, lista, drzewo BST, kopiec binarny, kolejka priorytetowa, struktura zbiorów rozłącznych), ich wady i zalety oraz ich wpływ na złożoność obliczeniową algorytmów i zarządzanie pamięcią - K_W05, K_W07;
W3: ma uporządkowaną wiedzę ogólną w zakresie możliwości i ograniczeń wykorzystania komputera w rozwiązywaniu problemów obliczeniowych - K_W02, K_W04;
W4: zna podstawowe metody projektowania, analizowania i programowania algorytmów (projektowanie strukturalne, rekurencja, metoda dziel i zwyciężaj, metoda zachłanna, programowanie dynamiczne, poprawność, złożoność obliczeniowa) - K_W04;
W5: zna wybrane algorytmy i ich zastosowania: algorytmy grafowe, algorytmy tekstowe - K_W04.
Learning outcomes - skills
(in Polish) Po zakończeniu przedmiotu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów pierwszego stopnia na kierunku informatyka - studia inżynierskie):
U1: potrafi zastosować wiedzę matematyczną do formułowania, analizowania i rozwiązywania obliczeniowych problemów informatycznych, analizuje je pod kątem możliwości ich algorytmicznego rozwiązania z jak najlepszą złożonością obliczeniową - K_U01;
U2: używa klasycznych algorytmów oraz modyfikuje je w celu rozwiązania konkretnych, specyficznych problemów - K_U06, K_U07;
U3: projektuje, analizuje pod kątem poprawności i złożoności obliczeniowej oraz programuje algorytmy; wykorzystuje podstawowe techniki algorytmiczne i umie dopasować struktury danych i metody projektowania algorytmów odpowiednie do danego problemu - K_U07;
U4: potrafi pozyskiwać informacje z dokumentacji, systemów pomocy, literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wykorzystywać w praktyce - K_U02;
U5: potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym - K_U05;
U6: potrafi pracować indywidualnie i w zespole informatyków, w tym także potrafi zarządzać swoim czasem oraz podejmować zobowiązania i dotrzymywać terminów - K_U03.
Learning outcomes - social competencies
(in Polish) Po zakończeniu przedmiotu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów pierwszego stopnia na kierunku informatyka - studia inżynierskie):
K1: myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań, w tym w zakresie problemów algorytmicznych - K_K02;
K2: jest nastawiony na jak najlepsze i terminowe wykonanie zadania; dba o szczegół; jest systematyczny - K_K04;
K3: skutecznie przekazuje innym swoje myśli w zrozumiały sposób, właściwie posługuje się terminologią fachową - K_K02;
K4: jest nastawiony na nieustanne zdobywanie nowej wiedzy, umiejętności i doświadczeń; rozumie potrzebę ciągłego doskonalenia się i podnoszenia kompetencji zawodowych - K_K03.
Teaching methods
(in Polish) Zagadnienia dyskutowane na tym przedmiocie podawane są studentom w formie wykładów informacyjnych i problemowych przeplatanych pokazami działania algorytmów na konkretnych, reprezentatywnych danych wejściowych. Wykłady uzupełnione są zajęciami laboratoryjnymi poświęconymi zarówno implementacji poznawanych algorytmów i struktur danych jak i rozwiązywaniu teoretycznych ćwiczeń problemowych pozwalających pogłębić wiedzę przyswojoną w czasie wykładów.
Observation/demonstration teaching methods
- display
Expository teaching methods
- informative (conventional) lecture
Exploratory teaching methods
- laboratory
Type of course
compulsory course
Prerequisites
(in Polish) Zakłada się, że uczestnik niniejszego kursu posiada następującą wiedzę i umiejętności (zdobytą np. na kursach Podstawy programowania i Matematyka dla informatyków I):
- zna podstawowe techniki programistyczne (obsługa wejścia/wyjścia, pętle, instrukcje warunkowe, funkcje, przekazywanie parametrów, tablice, rekordy) potrafi ich sprawnie używać w wybranym języku programowania (zalecane C++);
- posiada elementarną wiedzę matematyczną: rozumie zapis symboliczny, zna podstawy logiki, kombinatoryki i arytmetyki (indukcja, ciągi liczbowe) oraz zna pojęcie funkcji i związane z nim notacje;
- umie czytać ze zrozumieniem algorytmy w postaci pseudokodu oraz pisać programy na ich podstawie.
Course coordinators
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: