Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Algorithms & Data Structures

Informacje ogólne

Kod przedmiotu: 103B-CTxxx-ISA-EADS
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Algorithms & Data Structures
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Algorithms and Programming )-Computer Science, Telecommunications-B.Sc.-EITI
( Courses in English )--eng.-EITI
( Metody programowania )-Informatyka-inż.-EITI
( Przedmioty podstawowe )-Inżynieria systemów informatycznych-mgr.-EITI
( Przedmioty techniczne )---EITI
( Technical Courses )--eng.-EITI
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: angielski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

EADS

Numer wersji:

2

Skrócony opis:

Wykład przedstawia podstawowy materiał pozwalający na zrozumienie struktur danych. Paradygmat projektowania (i programowania) obiektowego jest wykorzystywany do prezentacji abstrakcyjnych typów danych. Główny akcent jest położony na algorytmy wykorzystywane w operacjach na strukturach danych.

Pełny opis: (tylko po angielsku)

The lecture presents fundamental material to the understanding of data structures. The object-oriented paradigm is used to demonstrate abstract data types. The main focus is put on algorithms handling operations of data structures.


Lecture contents
Data Structures Overview (4h): data types, data type system, object, data structure, linear data structure, tree, graph, evaluating efficiency and the O-notation. Data Types: built-in types, collections, indexed collections.
Linear Data Types (4h): singly-linked list, doubly-linked list, ring, stack, queue, priority queue.
Sorting Algorithms(6h): simple sorting (Insertion Sort, Selection Sort, Bubble Sort), advanced sorting (Quicksort, Merge Sort, Heap Sort, Shell Sort), Straight Radix Sort, Radix Exchenge Sort, Shell Sort.
Searching Algorithms (2h): linear searching, binary searching, interpolation searching, Fibonacci searching, hashing strategy, hashing functions and hash search methods.
Trees (6h): Binary Search Tree, Binary Tree Sort, trees with arbitrary degree, AVL Trees, balancing, rotations, digital trees, B-trees, BB-trees.
Recursion (2h): Divide-and-Conquere strategy, Hanoi Towers.
Graphs (6h): directed and undirected graphs, paths, loops, reachibility, implementation methods, adjacency matrix, linked adjacency lists,graph traversals, Depth-First traversals and Breadth-First traversals, weighted and unweighted graphs, positive-weighted shortest path problem (Dijkstra`s algorithm).




Tutorial contents
During exercises some typical problems of data structures are formulated , discussed and solved.


Laboratory contents
The laboratory consists of 3 simple tasks involving data structures. Classes employing single-linked lists, doubly-linked rings and binary search trees have to be designed, implemented and tested.


Similar Courses

CodeNameDiscount ECTS
103C-INxxx-ISP-AISDIAlgorytmy i struktury danych4
103C-INxxx-ISP-AISDIAlgorytmy i struktury danych4
103B-INxxx-ISP-AISDIAlgorytmy i struktury danych4
103B-INxxx-ISP-AISDIAlgorytmy i struktury danych4

Literatura: (tylko po angielsku)

    1. M. A. Weiss: Data Structures and Problem Solving Using C++, Second Edition, Addison Wesley Longman Inc., 2000.

    2. T. Budd: Data Structures in C++ Using the Standard Template Library, Addison Wesley Longman Inc., 1997.

    3. S. Sengupta, C.Ph. Korobkin: C++, Object-Oriented Data Structures, Springer-Verlag, 1994.

Efekty uczenia się:

Objective:

  • The students should learn to properly operate on different data structures in programming languages.
  • They should become familiar with designing and implementing abstract data types in object oriented environment (the C++ language).
  • They should realize consequences of implementing the same complex data types by different data structures.
Metody i kryteria oceniania:

EADS is an examination course. It is possible to obtain:

  • up to 30 points (3*10) for laboratory
  • up to 20 points for mid-term test
  • up to 50 points for examination

To be eligible for the exam it is necessary to score at least 16 points during the laboratories.

The final result is determined on the following rules:

  • 5,0: 91-100 points
  • 4,5: 81-90 points
  • 4,0: 71-80 points
  • 3,5: 61-70 points
  • 3,0: 51-60 points
  • 2,0: 0-50 points (not passing grade)

Students who pass the mid-term test for at least 14 points and score at least 36 points during the semester and regularly attend classes can obtain the following marks without taking the exam:

  • 4,0: 36-40 points
  • 4,5: 41-45 points
  • 5,0: 46-50 points

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. letni" (w trakcie)

Okres: 2024-02-19 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 24 miejsc więcej informacji
Laboratorium, 15 godzin, 24 miejsc więcej informacji
Wykład, 30 godzin, 24 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza, Dariusz Turlej
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. zimowy" (zakończony)

Okres: 2023-10-01 - 2024-02-18
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 72 miejsc więcej informacji
Laboratorium, 15 godzin, 72 miejsc więcej informacji
Wykład, 30 godzin, 72 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Waldemar Grabski, Rajmund Kożuszek, Roman Podraza, Dariusz Turlej
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. letni" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 36 miejsc więcej informacji
Laboratorium, 15 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza, Dominik Ryżko, Dariusz Turlej
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. zimowy" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 90 miejsc więcej informacji
Laboratorium, 15 godzin, 90 miejsc więcej informacji
Wykład, 30 godzin, 90 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Owais Mujtaba Khanday, Rajmund Kożuszek, Roman Podraza, Ankush Rai, Dariusz Turlej
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 36 miejsc więcej informacji
Laboratorium, 15 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Rajmund Kożuszek, Roman Podraza, Dariusz Turlej
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. zimowy" (zakończony)

Okres: 2021-10-01 - 2022-02-22
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 80 miejsc więcej informacji
Laboratorium, 15 godzin, 80 miejsc więcej informacji
Wykład, 30 godzin, 80 miejsc więcej informacji
Koordynatorzy: Roman Podraza, Dariusz Turlej
Prowadzący grup: Waldemar Grabski, Rajmund Kożuszek, Roman Podraza, Dariusz Turlej
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. letni" (zakończony)

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 30 miejsc więcej informacji
Laboratorium, 15 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Rajmund Kożuszek, Roman Podraza, Dariusz Turlej
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. zimowy" (zakończony)

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 80 miejsc więcej informacji
Laboratorium, 15 godzin, 80 miejsc więcej informacji
Wykład, 30 godzin, 80 miejsc więcej informacji
Koordynatorzy: Roman Podraza, Dariusz Turlej
Prowadzący grup: Rajmund Kożuszek, Łukasz Neumann, Piotr Nowakowski, Roman Podraza, Dariusz Turlej, Tomasz Włodarczyk
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (zakończony)

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 30 miejsc więcej informacji
Laboratorium, 15 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Łukasz Neumann, Roman Podraza
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. zimowy" (zakończony)

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 80 miejsc więcej informacji
Laboratorium, 15 godzin, 80 miejsc więcej informacji
Wykład, 30 godzin, 80 miejsc więcej informacji
Koordynatorzy: Roman Podraza, Dariusz Turlej
Prowadzący grup: Rajmund Kożuszek, Roman Podraza, Dariusz Turlej
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 24 miejsc więcej informacji
Laboratorium, 15 godzin, 24 miejsc więcej informacji
Wykład, 30 godzin, 24 miejsc więcej informacji
Koordynatorzy: Roman Podraza
Prowadzący grup: Roman Podraza, Bartłomiej Twardowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. zimowy" (zakończony)

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Roman Podraza, Dariusz Turlej
Prowadzący grup: Łukasz Dąbała, Roman Podraza, Dariusz Turlej, Bartłomiej Twardowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)