SylabUZ

Generate PDF for this page

Algorithms and data structures - course description

General information
Course name Algorithms and data structures
Course ID 11.3-WE-INFP-AlgIStrDat-Er
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Computer Science
Education profile academic
Level of studies First-cycle Erasmus programme
Beginning semester winter term 2022/2023
Course information
Semester 1
ECTS credits to win 5
Course type obligatory
Teaching language english
Author of syllabus
  • prof. dr hab. inż. Andrzej Obuchowicz
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Lecture 30 2 - - Exam
Laboratory 30 2 - - Credit with grade

Aim of the course

  • familiarize students with algorithms properties, rules and limits of their design;
  • familiarize students with basic data structures and algorithms related to them, and basic algorithms for chosen algorithmic problems
  • developing students' skills of algorithms design for simple algorithmic problems.

Prerequisites

there are no entry requirements

Scope

Algorithm and its properties: definitions of the algorithmic problem and the algorithm, algorithm properties; steering structures and block schemes. Programming techniques: recursion and corecursion, divide and conquer method, greedy algorithms , dynamic programming.

Data structures: definitions of data structures, linear-ordered sets, dictionaries; FIFO and LIFO structures; singly or doubly linked lists, cyclic lists, binary trees, priority queues.

Dictionaries: binary search trees BST and AVL, red-black trees; self-organizing structures, splay trees, hashing tables, B-trees.

Sets and graphs: representations, breadth-first and depth-first search , graph theory algorithms and net algorithms.

Selected algorithmic problems analysis: linear and binary search, indoor and outdoor sorting; string searching algorithms, geometric algorithms, paging problem, arithmetic systems.

Teaching methods

lecture: convensional lecture

laboratorium: laboratorial exercises

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Lecture - student has to pass an exam in written and oral form

Laboratory - student has to get credit from all laboratory exercises to be carried out under the laboratory program

Recommended reading

  1. Cormen T. H., Leiserson C. E., Rivest R. L.: Introduction to algorithms, MIT Press, Boston, 1994
  2. Aho A. V., Hopcroft J. E., Ullman J.D.: Algorithms and Data Structures, Addison-Wesley Longman Publishing Co., Inc. Boston 1983
  3. Dasgupta S., Papadimitriou Ch., Vazirani U.: Algorithms, McGraw-Hill, New York 2008

Further reading

  1. Adamski T., Ogrodzki J.: Algorytmy komputerowe i struktury danych, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 2005
  2. Banachowski L., Diks K., Rytter W.: Algorytmy i struktury danych, WNT, Warszawa, 1996
  3. Harris S., Ross J.: Od podstaw algorytmy, Helion, Gliwice, 2006
  4. Neapolitan R., Naimipour K.: Podstawy algorytmów z przykładami w C++, Helion, Gliwice, 2004
  5. Stephens R.: Algorytmy i struktury danych stosowane w Delphi 3, 4 i 5 z przykładami w Delhi, Helion, Gliwice, 2000
  6. Wirth N.: Algorytmy + struktury danych = programy, WNT, Warszawa, 2002

Notes


Modified by prof. dr hab. inż. Andrzej Obuchowicz (last modification: 07-04-2022 17:00)