1. Course Title |
Data Structures and Programming |
2. Code |
4ФЕИТ07Л018 |
3. Study program |
КТИ,КСИАР,КХИЕ,ТКИИ,ЕЕПМ,ЕЕС,ЕАОИЕ |
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 |