Course Title : Object Oriented Programming
Code Course
Credits ECTS
CMP 114-1 A -1 3 0 1 3.50 5
Lecturer and Office Hours
Teaching Assistant and Office Hours
Course Level
Description The course "Object Oriented Programming" provides general knowledge on the conception and implementation of object-oriented programming. Object Oriented Programming (OOP) is one of the foremost and most important techniques which is incorporated in almost all high level programming languages. In this context, through this course students will be able to understand the importance and impact that OOP in creating modular applications and programs. This course will first address a brief overview of the functions and then address in detail the basic concepts of OOP, its implementation methods and tools such as enumerations, structures, classes, pointers and references. It will also handle files and file operations in general.
Course Outline
1Introduction to Object Oriented Programming This topic addresses a general overview of object programming. The main concepts of Object Oriented Programming, review and completion of knowledge on functions, inline and macro functions, overloaded functions and various models of functions will be important parts of this topic. (Pages 101 - 123, Recommended reading)
2Enumerations This topic deals with the definition and use of enumeration (group), implementation of conditional structures through numbered values, definition and declaration of several enumerated variables of the same type, direct association of values, different actions with enumerated values, use of enumerations in loops, creating several enumerations simultaneously and using them in subroutines. (Pages 4 - 32)
3Structures This topic deals with the definition of structures and the declaration of relevant objects, the direct initialization with values of variables included in the components of structures during and after the declaration of relevant objects, access to the components of structures, use of association operation and relational operators and declaration and utilization of several structures simultaneously. (Pp. 33-69)
4Structures This topic deals with nested structures, the definition and use of functions included in the components of structures, the definition of functions outside structures, structures as parameters of functions, the use of arrays within structures, the declaration and use of arrays of objects and illustrative examples for all the topics above. (Pp. 70 - 132)
5Classes This topic deals with the definition of classes and the declaration of their objects, access to class components, general form of classes, definition of functions outside the classes, different forms of initialization of objects, use and calculations with public and private class variables, use of functions without formal parameters and with reference parameters, calculations in the program and through class functions as well as display of results in program variables and class variables. (Pages 133 - 163)
6Classes This topic deals with the use of functions within the class, functions as public and private components, constructors with and without formal parameters, calculations within them, the use of several constructors simultaneously, calling based on the number of parameters and based on the type of parameters and destructors. (Pages 164 - 190)
7Classes This topic deals with inheritance, the definition of functions outside the classes and the use of Protected members, multiple inheritance, different actions with classes, the use of fields with and through classes, and the visibility of classes and objects. (Pages 191 - 217)
8Midterm Exam
9Pointers This topic covers Pointers and how to use them. This topic deals in detail with pointer declaration, variable addresses, variable address value, associated values of constants and variables, inverse operators, pointer value calculations, operating with pointer values, increasing and decreasing values, and associating and comparing of values. (Pages 217 - 241)
10Pointers This topic deals with pointers when operating with fields (vectors, matrices), various operations with them, pointers in strings, pointers as function parameters, pointers in functions, structures and their use in variables and functions of class objects. (Pages 241 - 295)
11References This topic deals with common references, reference constants, formal reference parameters, reference parameters as outputs, reference vectors and matrices, constraints on reference variables, reference parameters within structures, reference variables within classes, and reference objects. (Pages 296 - 316)
12Files This topic deals with sequential access files, file writing, intermediate memory, file reading, file opening control, object declaration before opening, accessing, writing and reading files in loops, using manipulators, state flags as well as writing and reading in a program, using objects, texts and numbers in files, using pointers, reading rows and reopening files in different states. (Pages 316 - 359)
13Files This topic deals with reading the current position in the file, accessing and moving the file, reading from the files, values of variables, vectors, matrices and calculated values in the file, accessing and using data from files, objects and their access to files as well as several files open simultaneously. (Pages 360 - 404)
14Practical Problems This topic discusses some practical problems in the object-oriented programming as random numbers, time calculations, text color, visibility of variables, pointers, references, preprocessor directives, some exceptions and issues regarding reading / writing to files. (Pages 212 - 266, Recommended reading) (Edited)Restore original
15General Review
16Final Exam
Other References
Laboratory Work
Computer Usage
Learning Outcomes and Competences
1Studentët do të jenë të aftë të kuptojnë evolimin e P.O.O. në gjuhët e programimit moderne.
2Studentët do të kenë njohuri mbi konceptet kryesore të P.O.O.
3Studentët do të përvetësojnë metodat dhe teknikat kryesore të P.O.O.
4Studentët do të jenë të aftë të implementojnë metodat dhe teknikat kryesore të P.O.O.
5Studentët do të jenë të gatshëm për t’u bërë pjesë e diskutimeve të frytshme në fushën e evolimit të metodave dhe teknikave kryesore të P.O.O.
6Studentët do të jenë të pajisur me metodat dhe teknikat e mjaftueshme të P.O.O. për të vijuar me lëndët e tjera pasardhëse.
Course Evaluation Methods
In-term studies Quantity Percentage
Term Projects00
Contribution of in-term studies to overall grade40
Contribution of final examination to overall grade60
ECTS (Allocated Based on Student) Workload
Activities Quantity Duration
Total Workload
Course Duration (Including the exam week : 16 x Total course hours) 16464
Hours for off-the-classroom study (Pre-study, practice) 14228
Assignments 000
Midterms 122
Final examination 122
Other 14228
Total Work Load 124
Total Work Load / 25 (hours) 4.96

Get Syllabus PDF (Albanian) Get Syllabus PDF (English)