Algorithms and data structures
General data
Course ID: | 1000-213bASD |
Erasmus code / ISCED: |
11.302
|
Course title: | Algorithms and data structures |
Name in Polish: | Algorytmy i struktury danych |
Organizational unit: | Faculty of Mathematics, Informatics, and Mechanics |
Course groups: |
Obligatory courses for 2nd grade Computer Science Obligatory courses for 3rd grade JSIM (3I+4M) Obligatory courses for 3rd grade JSIM (3M+4I) |
ECTS credit allocation (and other scores): |
9.00
|
Language: | Polish |
Type of course: | obligatory courses |
Requirements: | Discrete mathematics 1000-212bMD |
Short description: |
Design and analysis of algorithms. Survey of fundamental algorithms and data structures. Practical improving programming and algorithm development skills. Applying ready to use libraries of algorithms and data structures. |
Full description: |
Basic principles of analysis of algorithms. Methods for designing efficient algorithms. Sorting. Selection. Priority queues. Searching and dictionaries. Find-Union problem and its applications. Graph algorithms. Text pattern matching. Data structures for text processing. |
Bibliography: |
Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001). Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill. ISBN 0-262-53196-8. |
Learning outcomes: |
(in Polish) 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) |
Assessment methods and assessment criteria: |
(in Polish) 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. |
Classes in period "Winter semester 2023/24" (past)
Time span: | 2023-10-01 - 2024-01-28 |
Navigate to timetable
MO WYK
CW
LAB
TU LAB
CW
LAB
W CW
CW
LAB
CW
LAB
TH FR CW
CW
CW
LAB
LAB
LAB
|
Type of class: |
Classes, 30 hours
Lab, 30 hours
Lecture, 30 hours
|
|
Coordinators: | Krzysztof Diks | |
Group instructors: | 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 | |
Students list: | (inaccessible to you) | |
Examination: | Examination |
Classes in period "Winter semester 2024/25" (future)
Time span: | 2024-10-01 - 2025-01-26 |
Navigate to timetable
MO TU W TH FR |
Type of class: |
Classes, 30 hours
Lab, 30 hours
Lecture, 30 hours
|
|
Coordinators: | Krzysztof Diks | |
Group instructors: | Krzysztof Diks, Krzysztof Fleszar, Łukasz Kowalik, Mirosław Kowaluk, Adam Malinowski, Tomáš Masařík, Marcin Mucha, Wojciech Nadara, Jakub Radoszewski, Tomasz Waleń, Anna Zych-Pawlewicz | |
Students list: | (inaccessible to you) | |
Examination: | Examination |
Copyright by University of Warsaw.