ID: 7006
Course type: scientific and vocational
Course coordinator: Jandrlić R. Davorka
Lecturers: Jandrlić R. Davorka, Lazović M. Goran
Contact: Jandrlić R. Davorka
Level of studies: B.Sc. (undergraduate) Academic Studies – Information Technologies in Mechanical Engineering
ECTS: 10
Final exam type: written+oral
Department: Department of Mathematics
Gain of theoretical and practical knowledge about basic algorithms used in Software Engineering on daily basis, their analysis, implementation and performance. Introduction to basic data structures, operations and algorithms applicable on specific data structure.
Students gain knowledge about pointers in C programming language, pointer arithmetic and dynamic memory management. Students develop knowledge about basic data structure and know how to recognize when one data structure is more applicable than the other, like in cases when order of elements is relevant, or uniqueness of elements etc. Students gain knowledge about complexity of operations on specific data structure and have ability to implement creation, insertion, deletion operations, as well as searching and sorting operations.
Pointers, pointer arithmetic, memory management. Memory allocation. Arrays. Lists. Sets. Hash tables. Sorting. Searching. Using of file system. Binary files.
Pointer arithmetic. Static and dynamic memory allocation. Onedimensional and multidimensional arrays, pointers techniques. Linked lists, array lists, list operations. Sets, set implementations and operations Hash tables, hash functions, hash key collision resolution Sorting algorithms, data indexing. Searching of sorted and indexed data. Time and space complexity of certain algorithms used to solve same problem. Openning an existing file. Creation of new files. Binary file and its usages..
defined by the curriculum of the study program/module
Total assigned hours: 120
New material: 45
Elaboration and examples (recapitulation): 15
Auditory exercises: 30
Laboratory exercises: 0
Calculation tasks: 0
Seminar paper: 10
Project: 0
Consultations: 0
Discussion/workshop: 0
Research study work: 0
Review and grading of calculation tasks: 10
Review and grading of lab reports: 5
Review and grading of seminar papers: 5
Review and grading of the project: 0
Test: 0
Test: 0
Final exam: 0
Activity during lectures: 0
Test/test: 30
Laboratory practice: 10
Calculation tasks: 0
Seminar paper: 0
Project: 30
Final exam: 30
Requirement for taking the exam (required number of points): 50
T. H. Cormen & others - Introduction to Algorithms, 3rd Edition, 2009; K. N. King - C Programming: A Modern Approach, 2nd Edition, 2008; The C programming language, Brian W. Kernighan, Dennis M. Ritchie, 2nd Edition, 2012