Overview
Aims
• Develop students' ability to design software that is dedicated to solving medium complexity problems by using object oriented paradigm.
• Deepening the concept of class and object, and gaining the skills to design classes and associated libraries.
• Creating a rigorous and efficient object oriented programming style
• Developing students' ability to effectively manage information by using classes and relations between classes.
• Drawing a coherent documentation on the applications of average-high complexity.
Course contents
1. Object-oriented programming paradigm. Basic concepts. 2. Programming with data abstraction. Features in C + +. 3. Classes and objects. Data members and methods. 4. Constructors and destructor. Copy constructor 5. Static keyword in classes. 6. friend keyword.Overloading binary operators. 7. Overloading operators (II). 8. Conversions. 9. Derived classes, base classes. Inheritance. 10. Inheritance. Multiple inheritance. 11. Virtual methods 12. Polymorphism. 13. Generic classes. 14. Exceptions. Standard Inputs-Outputs.
Learning outcomes
• Implementation and documentation of the software units in an object oriented programming language and efficiently using the related concepts.
Assessment
• Final evaluation (writen exam) 60%• Laboratory activities portfolio -40%