1. Course Title | Data structures and programming | |||||||
2. Code | 3ФЕИТ07Л025 | |||||||
3. Study program | EAOIE, EES, EEUM, KHIE, KSIAR, KTI, TKII | |||||||
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.00 | |||||
8. Lecturer | Dr Slavche Pejoski, Dr Hristijan Gjoreski | |||||||
9. Course Prerequisites | Taken course: Programming and algorithms | |||||||
10. Course Goals (acquired competencies): Introduction to data structures. Working with classes and instantiating objects. After finishing this course the student will be able to solve programming problems using the help of object oriented programming. |
||||||||
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, exercises and laboratory exercises | ||||||||
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 | 10 | ||||||
16.2. Individual tasks | 20 | |||||||
16.3. Homework and self-learning | 60 | |||||||
17. Grading | 17.1. Exams | 10 | ||||||
17.2. Seminar work/project (presentation: written and oral) | 10 | |||||||
17.3. Activity and participation | 0 | |||||||
17.4. Final exam | 80 | |||||||
18. Grading criteria (points) | up to 50 points | 5 (five) (F) | ||||||
from 51 to 60 points | 6 (six) (E) | |||||||
from 61 to 70 points | 7 (seven) (D) | |||||||
from 71 to 80 points | 8 (eight) (C) | |||||||
from 81 to 90 points | 9 (nine) (B) | |||||||
from 91 to 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.1. Required Literature | ||||||||
No. | Author | Title | Publisher | Year | ||||
1 | Prata S. | C++Primer Plus,6th Ed. | Addison-Wesley Professional | 2011 | ||||
2 | Cormen T.H., et. al. | Introduction to Algorithms, 2nd Ed. | MIT PRESS | 2001 | ||||
3 | Stroustrup B. | The C++ Programming Language, 3rd Ed. | AddisonWesley | 2000 | ||||
23.2. Additional Literature | ||||||||
No. | Author | Title | Publisher | Year | ||||
1 | Bruce ECKEL | Thinking in C++, Volume One: Introduction to Standard C++, 2nd Ed. | Prentice-Hall | 2000 | ||||
2 | ECKEL B., ALLISON C. | Thinking in C++, Volume Two: Practical Programming | Prentice-Hall | 2004 |