Subject: Algorithms and data structures
Course: Algorithms and data structures
ECTS credits: 3
Language: Croatian/ English/ French
Duration: 1 semester
Status: compulsory for single major students, elective for other students at the Department and the Faculty
Method of teaching: 1 lecture hour - 1 hour of practical classes
Prerequisite: none
Assessment: Written and oral exams

Course description:
Introduction. Main data types. Simple and compound data structures. Algorithm: definition, design and basic constructs. Programming languages: generations of programming languages, definitions, syntax and semantics, data types and structures. Basic structure of Pascal: lexical structure, syntactic structure, and general semantics. Data types, constants and variables. Expressions. Read and Write statements. Simple statements. Compound statements. Functions and procedures. Compound data types: string, array, set, record, and database. Dynamic data structures. Objects. Lists: queue, stack, single and double linked lists. Recursive structures and algorithms. Trees. Dispersed addressing. Elementary sorting algorithms. Searching.
Practical classes will show the realization of all algorithms, types and data structures in a chosen programming language. All students must individually define the data structure and algorithm for given problems and solve the problem in the chosen programming language.

Course objectives:
Give basic knowledge of algorithms and data structures which then will be shown in the chosen programming language (Pascal) as well as enable students to independently define algorithms and data structures during the problem solving processes. Lectures will be conducted in a classical manner and with the computer overview. Practical classes will be conducted in the computer laboratory.

Quality check and success of the course: Quality check and success of the course will be done by combining internal and external evaluation. Internal evaluation will be done by teachers and students using survey method at the end of semester. The external evaluation will be done by colleagues attending the course, by monitoring and assessment of the course.

Reading list
1. DOVEDAN, Zdravko: Pascal i programiranje (1), Zagreb, don, 1995.

Additional reading list
1. DOVEDAN, Zdravko; SMILEVSKI, Mirko; STAMENKOVIĆ, Milan: PASCAL i programiranje, ZOTKS,  Ljubljana, 1989.
2. WIRTH, Niclaus: Algorithms + Data Structures = Programs, Prentice-Hall, 1976.