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 Erasmus programme
Beginning semester winter term 2017/2018
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

  • zapoznanie studentów z własnościami algorytmów, oraz z zasadami i ograniczeniami ich projektowania;
  • zapoznanie studentów z podstawowymi strukturami danych i algorytmami je obsługującymi, oraz podstawowymi algorytmami rozwiązującymi wybrane zagadnienia algorytmiczne;
  • ukształtowanie umiejętności budowania algorytmów dla prostych zadań algorytmicznych.

Prerequisites

brak

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

wykład: wykład konwencjonalny

laboratorium: ćwiczenia laboratoryjne

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Wykład - warunkiem zaliczenia jest uzyskanie pozytywnej oceny z egzaminu w formie pisemnej i ustnej

Laboratorium - warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich ćwiczeń laboratoryjnych, przewidzianych do realizacji w ramach programu laboratorium

Składowe oceny końcowej = wykład: 50% + laboratorium: 50%

Recommended reading

  1. Cormen T. H., Leiserson C. E., Rivest R. L.: Wprowadzenie do algorytmów, WNT, Warszawa, 1997
  2. Kotowski P.: Algorytmy + struktury danych = abstrakcyjne typy danych, Wyd. BTC, Warszawa, 2006
  3. Wróblewski P.: Algorytmy, struktury danych i języki programowania, Helion, Gliwice, 1997
  4. Aho A. V., Hopcroft J. E., Ullman J.D.: Algorytmy i struktury danych, Helion, Gliwice, 2003

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: 06-05-2017 01:05)