Week 1 |
1 |
The Big Picture Beginning of programming Structured programming Why Do We Need Object-Oriented Programming? Object oriented programming |
|
2 |
Characteristics of Object-Oriented Languages o Objects o Classes o Inheritance o Reusability o Data Abstraction o Data Encapsulation o Creating new data types o Polymorphism and overloading Software Engineering Case Study: introduction to Object Technology and the UML |
Week 2 |
3 |
Structure Sturcutre basics Sturucture within structure Structures and classes Enumerations, |
|
4 |
Structure Vs Arrays |
Week 3 |
5 |
Objects and classes o Basics of class and objects with real world example o Basics of class and objects th programming example o Data member and member function o Access specifier |
|
6 |
C++ objects as data types Constructors Destructors |
Week 4 |
7 |
C++ objects as data types Constructors Destructors |
|
8 |
The default copy constructor Returning objects from function Class, object and memory Static class data |
Week 5 |
9 |
Const and classes Const member functions Const objects Software Engineering Case Study: identifying the classes in the ATM Requirements Document, Identifying the class Attributes Objects states and activates |
|
10 |
Functions and functions overloading Functions Functions Basics Overloaded functions o Different numbers of arguments o Different kinds of arguments |
Week 6 |
11 |
Inline functions Default arguments Variables and storage classes o Automatic variable o External variables o Static variables o Storage Const function arguments Software Engineering Case Study: class operation in the ATM system |
|
12 |
Operator overloading Overloading unary operator Overloading binary operator Data conversion o Conversion between basic types o Conversion between objects and basic types o Conversion between objects of different classes o Conversion: when to use what. |
Week 7 |
13 |
pitfall of operator overloading and conversion use similar meanings use similar syntax show restraint avoid ambiguity o not all operator can be overloaded |
|
14 |
Implementation of the case study. |
Week 8 |
1 hours |
Mid Term |
Week 9 |
15 |
Inheritance: Inheritance basics in real world and programming Derived class and base class o public, private & protected, Abstract Classes o Specifying the derived class o Accessing base class members o The protected access specifier |
|
16 |
Derived class constructors Overriding member functions Class hierarchies o Abstract base class o Constructor and member functions |
Week 10 |
17 |
Scope resolution with overridden functions Public and private inheritance Access combinations o Access specifiers: when to use what Level of inheritance |
|
18 |
Multiple inheritance Ambiguity in multiple inheritance Containership: classes within class o Composition and aggregation Inheritance and program development |
Week 11 |
19 |
Pointers Pointer basics concepts Addresses and pointers The address of operator Pointer and arrays Pointers and functions Pointers and ctype string Memory management: new and delete o The new opearaotr o The delete operator o A string class using new |
|
20 |
Pointer to objects Pointers to pointers |
Week 12 |
21 |
Virtual functions Virtual functions o Normal member function accessed with pointer o Normal member function accessed without pointer o virtual member function accessed with pointer o Virtual member functions accesses without pointer o Late binding |
|
22 |
o Abstract classes and pure virtual functions o Virtual destructors o Virtual base classes |
Week 13 |
23 |
Friend functions |
|
24 |
Friend classes Static functions |
Week 14 |
25 |
Polymorphism, Type of Polymorphism – o Compile time and runtime, o Function Overloading, o Operator Overloading (Unary and Binary) Polymorphism by parameter, |
|
26 |
o Pointer to objects, o this pointer, o Virtual Functions, o Pure virtual functions. |
Week 15 |
27 |
Streams and files Stream classes o Advantages of streams o The stream class hierarchy o The ios class o The isteam class o The ostram class |
|
28 |
Disk file I/O with streams File pointers |
Week 16 |
29 |
Error handling in file I/O File I/O with member functions |
|
30 |
Multifile programs Reason for multifile program, Creating a multifile program |
Week 17 |
2 hours |
Final Term |