University of Warsaw - Central Authentication System
Strona główna

Algorithms and data structures

General data

Course ID: 1000-213bASD
Erasmus code / ISCED: 11.302 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
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 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
Language: Polish
Type of course:

obligatory courses

Requirements:

Discrete mathematics 1000-212bMD
Introduction to programming (functional approach) 1000-211bWPF
Introductory programming 1000-211bWPI

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
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 30 hours more information
Lab, 30 hours more information
Lecture, 30 hours more information
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
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 30 hours more information
Lab, 30 hours more information
Lecture, 30 hours more information
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
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)