Data Structures and Programming

Последна измена: November 23, 2022
1. Course Title Data Structures and Programming
2. Code 4ФЕИТ07Л018
4. Organizer of the study program (unit, institute, department) Faculty of Electrical Engineering and Information Technologies
5. Degree (first, second, third cycle) First cycle
6. Academic year/semester I/2 7. Number of ECTS credits 6
8. Lecturer D-r Hristijan Gjoreski, D-r Slavche Pejoski, D-r Tomislav Shuminoski
9. Course Prerequisites
10. Course Goals (acquired competencies): Introduction to data structures, classes and instance of objects. Upon completion, the student will be able to solve programming problems with the help of object-oriented programming in C ++, such as: creating classes, objects, overloading operators, virtual functions, inheritance.
11. Course Syllabus: Introduction to a new type of data. Complex data types. Defining structures. Defining, using and compiling self-made header files. Automating the compiling process using the tool make and Makefile. Introduction to C++. Concepts of programming in C++. Structures in C++. References and pointers in C++. Functions and overload of functions. Concepts of object oriented programming. Class and objects concepts. Constructor and destructor. New data structures. Concepts od stack and queue data types. Friendly classes and functions. Functions members of a class. Overloading operators (functions) members of a class. Single linked lists. Double linked lists – concept. Double linked lists in C++. Dynamic memory allocation. Inheritance concepts. Polymorphism concepts. Generalisation of classes. Virtual functions. Abstract classes.
12. Learning methods: Lectures, auditory and laboratory exercises, independent learning
13. Total number of course hours 2 + 2 + 2 + 0
14. Distribution of course hours 180
15. Forms of teaching 15.1. Lectures-theoretical teaching 30
15.2. Exercises (laboratory, practice classes), seminars, teamwork 60
16. Other course activities 16.1. Projects, seminar papers 0
16.2. Individual tasks 30
16.3. Homework and self-learning 60
17. Grading 17.1. Exams 10
17.2. Seminar work/project (presentation: written and oral) 0
17.3. Activity and participation 10
17.4. Final exam 80
18. Grading criteria (points) up to 50 points 5 (five) (F)
from 51to 60 points 6 (six) (E)
from 61to 70 points 7 (seven) (D)
from 71to 80 points 8 (eight) (C)
from 81to 90 points 9 (nine) (B)
from 91to 100 points 10 (ten) (A)
19. Conditions for acquiring teacher’s signature and for taking final exam Laboratory exercises
20. Forms of assessment Two partial exams during the semester lasting 120 minutes each or one final written exam in an appropriate exam session lasting 120 minutes. Evaluation of laboratory exercises, as well as tests for continuous checking of knowledge.
21. Language Macedonian and English
22. Method of monitoring of teaching quality Internal evaluation and surveys
23. Literature
23.2. Additional Literature
No. Author Title Publisher Year
1 Cormen, Thomas, Charles Leiserson, Ronald Rivest, and Clifford Stein Introduction to Algorithms MIT Press, 2009. ISBN: 9780262033848. 2009
2 Michael T. Goodrich, Roberto Tamassia, David M. Mount, Data Structures and Algorithms in C++ Wiley, ISBN 978-0-470-38327-8 2011
3 Robert Lafore Object Oriented Programming in C++ Sams; Subsequent edition 2001