Semester 7
Course: Object Oriented Programming IΙ
Course Code: | ΜΚ31 |
Course Level: | Undergratuate |
Obligatory/Elective: | Elective |
Semester: | 7 |
Division: | Division of Computers |
Group: | Group A |
ECTS Credits: | 5 |
Hours Per Week: | 4 |
Website: | eclass.uowm.gr/courses/ICTE344/ |
Language: | Greek |
Content: | The course focuses on Object Oriented Programming with C ++ programming language. Emphasis is placed on the object-oriented programming model, as well as on some more advanced programming concepts (references, parameterization, dynamic memory allocation, friend functions). Students learn to design and implement object-oriented programs (classes, objects, encapsulation, subtraction, composition, hierarchies and inheritance, polymorphism) in C++. By the end of the course students should be familiar with the advanced features of C++ and be able to design and implement complex programs of increased degree of difficulty. Course modules: Section 1: Basic Concepts of Object-Oriented Programming, Java Comparison, C ++ History and Applications Section 2: C ++ Code Development, Objects and Classes, Constructor Functions, Input/Output Section 3: Classes & Objects, Objects as Arguments, Constructor’s overloading, Data Access Member Functions. Section 4: Global Functions, Friend Functions, Static Functions, *this pointer Section 5: Operator Overloading, Arguments and Return Values, Binary Operator Overloading (Numerical Operators, Comparison Operators, Input/Output Operators overloading) Section 6: Arrays, arrays as class member data, arrays of objects Section 7: Composition, objects as data members of classes, how to handle objects, examples of using composition Module 8: Inheritance, base and derived classes, access of base class members and functions, member functions overloading Section 9: Pointers, new and delete operators, object pointers, member references, pointers to arrays of objects Section 10: Class Hierarchies, Abstract Base Classes. Public and private inheritance. Section 11: Inheritance Levels, Multiple Inheritance, Classes within Classes Section 12: Files and streams, object input / output, file pointers. Section 13: Templates, Genetic Programming, Code Reuse, Class and Function Templates. |
Learning Outcomes: | Students who successfully complete the Object-Oriented Programming II course should be able to:
|
Pre-requirements: | None |
Teaching Methods: | - |
Validation: | The evaluation of students is carried out with: • Written evaluation • Laboratory examination • Application Development (Semester Project) The written evaluation is intended to examine the students' knowledge of the taught material and to capture the degree of its assimilation. It includes multiple choice questions, free questions but also short answers, code evaluation, code development.
The purpose of the laboratory exams is to determine degree of familiarity of students with the development of C ++ applications in real life problems. It includes short application development.
The application development (Semester project) is assigned in groups of 2 persons and include application development in C ++. The works are submitted electronically via e-class platform.
The final evaluation of the students is as follows: 60% Grade of written examination + 20% Grade of application development + 20% Grade of Laboratory examination |
Suggested Books: | Books (in Greek) [1] Savitch Walter, Absolute C++, Pearson. [2] B. Stroustrup, The C++ Programming Language, Addison Wesley. [3] S. Al, W. Clayton, " C++ Programming Bible", Wiley. Journals Science of Computer programming, Elsevier Journal of Systems and Software, Elsevier Proceedings of the ACM on Programming Languages, ACM |