Conducted in
terms:
2022/23L, 2023/24Z, 2024/25Z, 2025/26Z
ISCED code: 0613
ECTS credits:
6
Language:
Polish
Organized by:
Faculty of Mathematics and Computer Science
Algorithms and Data Structures 1000-I1ASD
This course has not yet been described...
Total student workload
(in Polish) 30 godz. – wykład; 30 godz. – ćwiczenia
50 godz. – praca własna: bieżące przygotowanie do zajęć, praca z literaturą
35 godz. – praca własna: przygotowanie do egzaminu
3 godz. – egzamin
RAZEM: 148 godz.
6 pkt. ECTS
Learning outcomes - knowledge
(in Polish) (W1) ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie programowania, algorytmów oraz ich poprawności i złożoności (por. K_W02 );
(W2) zna najważniejsze struktury danych i wykonywane na nich operacje oraz ich wpływ na złożoność obliczeniową algorytmów i zarządzanie pamięcią (por. K_W05, również K_W07);
(W3) zna podstawowe metody projektowania, analizowania i programowania algorytmów (projektowanie strukturalne, rekurencja, metoda dziel i zwyciężaj, metoda zachłanna, programowanie dynamiczne, złożoność obliczeniowa), por. K_W04;
(W4) zna podstawowe klasyczne algorytmy i ich zastosowania: algorytmy wyszukiwania i porządkowania, algorytmy optymalizacyjne, algorytmy grafowe (por. K_W02 i K_W04).
Learning outcomes - skills
(in Polish) (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ą (por. K_U01);
(U2) 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 (por. K_U07);
(U3) implementuje podstawowe klasyczne algorytmy, uzasadnia ich poprawność, określa ich złożoność obliczeniową oraz umie dostosować je do rozwiązania konkretnych, specyficznych problemów (por. K_U07);
(U4) potrafi pisać, uruchamiać i testować programy w wybranym środowisku programistycznym (por. K_U05);
(U5) potrafi pracować indywidualnie nad projektem programistycznym, w tym także potrafi zarządzać swoim czasem oraz podejmować zobowiązania i dotrzymywać terminów (por. K_U03).
Learning outcomes - social competencies
(in Polish) (K1) myśli twórczo w celu udoskonalenia istniejących bądź stworzenia nowych rozwiązań (w zakresie problemów algorytmicznych, por. K_K02);
(K2) jest gotów do pokonywania trudności stojących na drodze do realizacji założonego celu i systematycznej pracy nad projektem programistycznym; jest nastawiony na jak najlepsze i terminowe wykonanie zadania (por. K_K04);
(K3) jest gotów do krytycznej oceny swojej wiedzy i dalszego jej doskonalenia z wykorzystaniem różnych źródeł informacji (por. K_K03).
Observation/demonstration teaching methods
- display
Expository teaching methods
- problem-based lecture
- informative (conventional) lecture
- informative (conventional) lecture
Exploratory teaching methods
- project work
- presentation of a paper
- classic problem-solving
- experimental
- laboratory
- practical
- presentation of a paper
- classic problem-solving
- experimental
- laboratory
- practical
Online teaching methods
- methods developing reflexive thinking
- content-presentation-oriented methods
- content-presentation-oriented methods
Type of course
compulsory course
Prerequisites
(in Polish) Zakłada się, że uczestnik niniejszego kursu posiada następującą wiedzę i umiejętności (zdobyte na przedmiocie Podstawy algorytmiki programowania (1000-I1PAiP) i przedmiotach matematycznych na 1 roku):
- zna podstawowe techniki programistyczne (obsługa wejścia/wyjścia, pętle, instrukcje warunkowe, funkcje, przekazywanie parametrów, tablice, struktury) potrafi ich sprawnie używać w wybranym języku programowania (zalecane C++ lub Python);
- 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
Term 2022/23L: | Term 2023/24Z: | Term 2024/25Z: |
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: