Subject

Object-oriented programming

1. Course Title Object-oriented programming
Object-oriented programming
2. Code F23L1S016
3. Study Programme Application of Information Technologies, Software Engineering and Information Systems, Computer Science, Computer Engineering, Internet, Networks and Security, Software Engineering and Information Systems, Informatics Education, Professional Studies in Programming
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) First Cycle
6. Academic year / semester 2 / Summer
7. Number of ECTS credits 6
8. Teacher Ana Madevska Bogdanova, Boban Joksimovski, Dejan Gjorgjević, Emil Stankov, Gjorgji Madjarov, Hristina Mihajloska Trpcheska, Ivan Chorbev, Ivica Dimitrovski, Katarina Trojachancev Dineva, Nevena Atzkoska
9. Prerequisites for enrolling in the course
10. Objectives of the course programme (competences) The goal of the course is to familiarize the student with the basic concepts of object-oriented programming. To that end, the concepts of objects and classes, encapsulation, inheritance, and polymorphism will be introduced. Students will also be introduced to the class hierarchy. Comparisons will be made between the implementations of object-oriented concepts in different programming languages.
Upon completion of the course, the student will understand the principles of object-oriented programming and be able to develop programs that support these principles.
11. Course content 1. Introduction (course), introduction to OOP (structures)
2. Classes and Objects, Object Lifecycle
3. Classes, Objects, and Access Levels
4. Copying objects, this
5. Operators
6. Inheritance
7. Polymorphism
8. Abstract classes
9. Advanced Inheritance Techniques
10. Exceptions
11. Templates
12. Learning methods Lectures using presentations, interactive lectures, exercises (using equipment and software packages), teamwork, case studies, guest lecturers, independent preparation and defense of a project assignment and a seminar paper.
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 10 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 10 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam Activities 15.2 and 16.1 have been completed.
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Tony Gaddis, Judy Walters, Godfrey Muganda | Starting Out with C++: Early Objects, 10th Edition | Pearson | 2019
2. Bjarne Stroustrup | Programming: Principles and Practice Using C++ | Addison Wesley | 2014
3. Bjarne Stroustrup | The C++ Programming Language | Addison Wesley | 2013
22.2. Additional literature
No. Author Title Publisher Year