IT002 Eng
IT002 Eng
IT002_OBJECT-ORIENTED PROGRAMMING
2. COURSE DESCRIPTION
The course equips students with knowledge and skills in object-oriented programming,
fundamental principles of object-oriented design, basic issues, and some advanced topics
in implementing classes and methods. It covers concepts underlying inheritance tree,
polymorphism, and interface programming, object properties, inheritance, and
classification. Methods of interaction and communication between objects are also covered.
This course is mandatory for all students majoring in information technology.
a. Theory
Session Content Outcome
(3 periods)
1 Introduction to information, content, and regulations of the G2.1, G6.1
course
Chapter 1. The new features and advancements of the
C++ programming language
2 Chapter 2. Overview of OOP G2.1, G2.2,
- Programming methodologies G6.1
- Some basic concepts in OOP
- Important characteristics of OOP
- Object-oriented analysis, design, and programming
3, 4, 5 Chapter 3. Classes and Objects G2.1, G2.2,
- Syntax for declaring a class. G3.2
- Defining member functions of a class
- Declaration and instantiation of objects
- Access modifiers
- Constructor method
- Destructor method
- Accessor and mutator methods
- Static members
- Initialization of an object, data, and static member
functions
6, 7 Chapter 4. Object Initialization, Friend Functions, G2.1, G2.2,
Friend Classes G3.2
- Operations with objects as class members
- Operations with objects as array elements
- Dynamically allocated objects
- Friend functions
- Friend classes
- Principles of class construction
8, 9 Chapter 5. Operator Overloading G2.1, G2.2,
- Introduction G3.2, G6.1
- C++ Operators
- Overloadable Operators
- Syntax of Operator Overloading
- Type Conversions
- Ambiguity
- Shift Operators: << and >>
- Array Subscript Operator: []
- Function Call Operator: ()
- Increment and Decrement Operators: ++, --
10, 11 Chapter 6. Inheritance G3.2, G6.1
- Relationship between classes
- Inheritance
- Single Inheritance
- Access Specifiers in Inheritance
- Derived Classes
12, 13 Chapter 7. Polymorphism G3.2, G6.1
- Introduction
- Type Casting
- Virtual Methods
- Pure Virtual Methods
- Abstract Base Classes
14 Overview of Exception Handling, Function Templates, and G3.2, G6.1
Class Templates
15 Revision G2.1, G2.2,
G3.2, G6.1
b. Practice