________________________________________________________________
Do you want to take this course remotely or in person?
Contact us by email: info@nanforiberica.com , phone: +34 91 031 66 78, WhatsApp: +34 685 60 05 91 , or contact Our Offices
________________________________________________________________
Course contents
Module 1: Fundamentals of Object Oriented Programming (OO)
1.1. Structured programming.
1.2. History of some languages.
1.3. Imperative programming vs declarative programming.
1.4. Main programming paradigms.
1.5. What is OO programming?
1.5.1. Classes.
1.5.2. Inheritance.
1.5.3. The messages.
1.5.4. Internal structure of an object.
1.6. Cancellation and replacement.
1.7. Overload.
1.8. Dynamic ligature.
1.9. Object-oriented reuse.
1.10. Polymorphism.
1.11. Benefits of OO technology
Module 2: Modularity.
2.1. Requirements relating to module structures
2.2. Traditional modular structures
23. Functional decomposition
2.4. Object-based decomposition.
2.5. Module design.
2.6. Data types (TAD).
2.7. Abstraction in programming languages.
2.8. Abstract data types
2.9. The TADs in the OO paradigm.
Module 3: Relationships
3.1. The relationships between classes.
3.2. Generalization/specialization relationship.
3.3. Aggregation relationship.
3.4. Association relationship.
3.5. Inheritance: class hierarchy.
3.6. Multiple inheritance.
Module 4: Classes and objects in an OO programming language (LPOO)
4.1. Classification of object-oriented languages
4.2. Pure vs. hybrid languages
4.3. Classes and objects.
4.4. Objects.
4.5. Classes.
4.6. Creation of classes.
4.7. Class and object diagrams.
4.8. Object creation and initialization techniques.
4.9. Initialization and cleanup of objects.
4.10. Guidelines for class construction.
4.11. Pointers.
4.12. Assertions
Module 5: Abstract classes and inheritance in an LPOO
5.1. Abstraction of generalization and specialization of classes.
5.2. abstract classes.
5.3. Inheritance and derived classes.
5.4. Repeated inheritance and virtual base classes.
5.5. Pure virtual functions.
5.6. Hiding information
Module 6: Polymorphism in an LPOO
6.1. Dynamic ligation vs. static ligation.
6.2. Virtual functions.
6.3. Redefinition
6.4. Polymorphism.
6.5. Use of polymorphism.
6.6. Advantages of Polymorphism. Genericity.
6.7. Templates
6.7.1. Template Fundamentals
6.7.2. Function templates.
6.7.3. Class templates.
6.7.4. A template for managing data stacks.
Module 7: Templates vs. Polymorphism
Final evaluation
Quality Questionnaire
Previous requirements
The student who wants to take the course does not need to have basic programming knowledge
Requirements
Hardware: Multimedia PC
Pentium IV or higher, 1 Gb of memory, sound card, speakers/headphones
Software:
Windows XP, Windows Vista or Windows 7
Browsers: Explorer 6,7 and 8 or Firefox 2 and 3
Java 1.5 or higher
Adobe Flash Player 7.0 or higher
Javascript enabled
Adobe Reader 8.0 or higher