Warsaw University of Technology - Central Authentication SystemYou are not logged in | log in
course directory - help

Algorithms & Data Structures

General data

Course ID: 103B-CTxxx-ISA-EADS Erasmus code / ISCED: (unknown) / (unknown)
Course title: Algorithms & Data Structures Name in Polish: Algorithms & Data Structures
Department: The Faculty of Electronics and Information Technology
Course groups: ( Algorithms and Programming )-Computer Science, Telecommunications-B.Sc.-EITI
( Courses in English )--eng.-EITI
( Fundamentals )-Computer Information System Engineering-M.Sc.-EITI
( Programming Methods )-Computer Science-B.Sc.-EITI
( Technical Courses )---EITI
( Technical Courses )--eng.-EITI
ECTS credit allocation (and other scores): 6.00
Language: English
(in Polish) Jednostka decyzyjna:

(in Polish) 103000 - Wydział Elektroniki i Technik Informacyjnych

(in Polish) Kod wydziałowy:

(in Polish) EADS

(in Polish) Numer wersji:

(in Polish) 2

Short description:

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.

Full description:

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

Bibliography:

    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.

Learning outcomes:

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.
Assessment methods and assessment criteria:

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

Classes in period "Summer Semester 2019/2020" (in progress)

Time span: 2020-02-22 - 2020-09-30

Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 30 places more information
lectures, 30 hours, 30 places more information
tutorials, 15 hours, 30 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza, Bartłomiej Twardowski
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2019/2020" (past)

Time span: 2019-10-01 - 2020-02-21
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 80 places more information
lectures, 30 hours, 80 places more information
tutorials, 15 hours, 80 places more information
Coordinators: Roman Podraza, Dariusz Turlej
Group instructors: Rajmund Kożuszek, Roman Podraza, Dariusz Turlej
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2018/2019" (past)

Time span: 2019-02-18 - 2019-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 24 places more information
lectures, 30 hours, 24 places more information
tutorials, 15 hours, 24 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza, Bartłomiej Twardowski
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2018/2019" (past)

Time span: 2018-10-01 - 2019-02-17
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 60 places more information
lectures, 30 hours, 60 places more information
tutorials, 15 hours, 60 places more information
Coordinators: Roman Podraza, Dariusz Turlej
Group instructors: Łukasz Dąbała, Roman Podraza, Dariusz Turlej, Bartłomiej Twardowski
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2017/2018" (past)

Time span: 2018-02-19 - 2018-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 24 places more information
lectures, 30 hours, 24 places more information
tutorials, 15 hours, 24 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza, Bartłomiej Twardowski
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2017/2018" (past)

Time span: 2017-10-01 - 2018-02-18
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 60 places more information
lectures, 30 hours, 60 places more information
tutorials, 15 hours, 60 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2016/2017" (past)

Time span: 2017-02-20 - 2017-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 24 places more information
lectures, 30 hours, 24 places more information
tutorials, 15 hours, 24 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Winter Semester 2016/2017" (past)

Time span: 2016-10-01 - 2017-02-19
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 24 places more information
lectures, 30 hours, 24 places more information
tutorials, 15 hours, 24 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Classes in period "Summer Semester 2015/2016" (past)

Time span: 2016-02-23 - 2016-09-30
Choosen plan division:


magnify
see course schedule
Type of class: laboratory, 15 hours, 35 places more information
lectures, 30 hours, 35 places more information
tutorials, 15 hours, 35 places more information
Coordinators: Roman Podraza
Group instructors: Roman Podraza
Students list: (inaccessible to you)
Examination: Exam
(in Polish) Jednostka realizująca:

(in Polish) 103200 - Instytut Informatyki

Course descriptions are protected by copyright.
Copyright by Warsaw University of Technology.