Algorytmy i struktury danych
Informacje ogólne
Kod przedmiotu: | 1000-213bASD |
Kod Erasmus / ISCED: |
11.302
|
Nazwa przedmiotu: | Algorytmy i struktury danych |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Przedmioty obowiązkowe dla II roku informatyki Przedmioty obowiązkowe dla III roku JSIM - wariant 3I+4M Przedmioty obowiązkowe dla III roku JSIM - wariant 3M+4I |
Punkty ECTS i inne: |
9.00
|
Język prowadzenia: | polski |
Rodzaj przedmiotu: | obowiązkowe |
Wymagania (lista przedmiotów): | Matematyka dyskretna 1000-212bMD |
Skrócony opis: |
Projektowanie i analiza algorytmów. Przegląd podstawowych algorytmów i struktur danych. Doskonalenie praktycznych umiejętnosci w projektowaniu i programowaniu poprawnych i wydajnych algorytmow oraz w posługiwaniu się gotowymi bibliotekami algorytmów i struktur danych. |
Pełny opis: |
Podstawowe zasady analizy algorytmów Metody projektowania wydajnych algorytmów Sortowanie Selekcja Kolejki priorytetowe Wyszukiwanie i słowniki Problem "Find-Union" i jego zastosowania Algorytmy grafowe Wyszukiwanie wzorca w tekstach Tekstowe struktury danych |
Literatura: |
L. Banachowski, K. Diks, W. Rytter, Algorytmy i struktury danych, Wydawnictwa Naukowo - Techniczne, 2006. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Wprowadzenie do algorytmów, PWN, 2024. |
Efekty uczenia się: |
Wiedza - absolwent zna i rozumie: - teoretyczne podstawy z zakresu programowania, algorytmów i złożoności (K_W02), - podstawowe metody projektowania, analizowania i programowania algorytmów (projektowanie strukturalne, rekurencja, metoda dziel i rządź, programowanie z nawrotami, poprawność, metoda niezmienników, złożoność obliczeniowa) (K_W04), - podstawowe struktury danych i wykonywane na nich operacje (reprezentacja danych liczbowych, arytmetyka i błędy zaokrągleń, tablice, napisy, zbiory, struktury, pliki, wskaźniki i referencje, struktury wskaźnikowe, listy, stosy, kolejki, drzewa i grafy) (K_W05) Umiejętności - absolwent potrafi: - zastosować wiedzę matematyczną do formułowania, analizowania i rozwiązywania związanych z informatyką zadań (K_U01), - pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02), - projektować, analizować pod kątem poprawności i złożoności obliczeniowej oraz programować algorytmy; wykorzystywać podstawowe techniki algorytmiczne i struktur danych (K_U07), - samodzielnie planować i realizować własne uczenie się przez całe życie (K_U09) Kompetencje społeczne - absolwent jest gotów do: - krytycznej oceny posiadanej wiedzy i odbieranych treści (K_K01), - pracy z poszanowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02), - uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03) |
Metody i kryteria oceniania: |
Na końcową ocenę składają się oceny cząstkowe za pracę podczas laboratoriów i ćwiczeń oraz za egzamin. Laboratorium polega na zrealizowaniu szeregu projektów programistycznych, których celem jest zaprojektowanie i zaimplementowanie wydajnych algorytmów dla wybranych problemów algorytmicznych. Na ćwiczeniach projektuje się i analizuje teoretycznie algorytmy i struktury danych pod kątem ich złożoności obliczeniowej. Wiedza i umiejętności zdobywane na ćwiczeniach są weryfikowane podczas dwóch klasówek. Osoby z zaliczonym laboratorium i ćwiczeniami przystępują do egzaminu, który składa się z trzech części: praktycznej - weryfikującej praktyczne umiejętności projektowania i implementowania wydajnych algorytmów, testowej - sprawdzającej encyklopedyczną wiedzę podaną na wykładzie oraz zadaniowej - weryfikującą umiejętności zastosowania wiedzy podanej na wykładzie i ćwiczeniach. Szczegółowe zasady oceniania są podawane studentom z każdą edycją przedmiotu. |
Zajęcia w cyklu "Semestr zimowy 2023/24" (zakończony)
Okres: | 2023-10-01 - 2024-01-28 |
Przejdź do planu
PN WYK
CW
LAB
WT LAB
CW
LAB
ŚR CW
CW
LAB
CW
LAB
CZ PT CW
CW
LAB
CW
LAB
LAB
|
Typ zajęć: |
Ćwiczenia, 30 godzin
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Krzysztof Diks | |
Prowadzący grup: | Krzysztof Diks, Krzysztof Fleszar, Łukasz Kowalik, Mirosław Kowaluk, Adam Malinowski, Jana Masaříková, Antoni Mikos-Nuszkiewicz, Łukasz Sznuk, Tomasz Waleń, Marcin Wierzbiński, Anna Zych-Pawlewicz | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Zajęcia w cyklu "Semestr zimowy 2024/25" (w trakcie)
Okres: | 2024-10-01 - 2025-01-26 |
Przejdź do planu
PN WYK
CW
LAB
LAB
LAB
WT CW
LAB
ŚR CW
CW
CW
LAB
CZ PT CW
LAB
CW
LAB
CW
LAB
|
Typ zajęć: |
Ćwiczenia, 30 godzin
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Krzysztof Diks | |
Prowadzący grup: | Krzysztof Diks, Krzysztof Fleszar, Łukasz Kowalik, Mirosław Kowaluk, Adam Malinowski, Marcin Mucha, Jakub Radoszewski, Marcin Smulewicz, Łukasz Sznuk, Tomasz Waleń, Anna Zych-Pawlewicz | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Właścicielem praw autorskich jest Uniwersytet Warszawski.