Advanced Certification Course in C++ Programming

C++ is the object oriented superset of ANSI C. This course provides students with a comprehensive study of the C++ Programming Language. The course stresses the object paradigm including classes, inheritance, virtual functions, and templates in the development of C++ programs. Lab exercises reinforce the lectures. Anybody who has the need to write programs in the C++ language including programmers, engineers, scientists, or other technical support personnel will benefit from this course.

OBJECTIVE OF THIS COURSE

The Advanced Certification Course in C++ Programming would develop the students skill set in programming. It also incorporates the use of programming in Software development, Mobile and Computer based game development.

COURSE BREAKDOWN

Perspective
The Software Crisis
Design Techniques
Large Software Systems
Roots of Object Technology
What Is Object-Oriented Programming?
C++ and Object-Oriented Programming
Why C++?
Features of C++
Pros and Cons of C++
The Language of Object-Orientation
What Is an Object?
What Is a Class?
Encapsulation
Data Hiding
The Public Interface
Relationships Among Classes
Inheritance
Polymorphism
Object-Oriented Design
C vs. C++
Comments
Namespaces
Simple Output
Simple Input
Definitions Near to First Use
Function Prototypes
The inline Specifier
const
Structure Members
The Reference Type
Overloading Function Names
Default Parameters
The Scope Resolution Operator
Aggregates
Operators new and delete
The bool Data Type
The string Data Type
Fundamentals of Classes
Data Types
User Defined Data Types
Using the Class Concept
Defining a Class
public and private Access Levels
The Scope Resolution Operator ::
Using Class Objects Like Built-in Types
Scope
Constructors
Member Initialization Lists
Destructors

Array of Objects Pointers
The this Pointer
Passing Objects to Functions
Returning Objects From Functions
static Class Members
Operator Overloading
Introduction
Rules for Operator Overloading
Rationale for Operator Overloading
Overloading Member Functions
Overloading Non-Member Functions
friend Functions
The Copy Constructor
The Assignment Operator
Overloading [ ]
Overloading Increment and Decrement Operators
const Objects and References
Composition of Classes
Relationships
Composition of Classes
The Point Class
The Line Class
Member Initialization Lists
An Application With Composition
The Copy Constructor under Composition
operator= under Composition
Inheritance
Introduction
Public Base Classes
The protected Access Level
Member Initialization Lists
What Isn’t Inherited
Assignments Between Base and Derived Objects
Compile-Time vs. Run-Time Binding
virtual Functions
Polymorphism
virtual Destructors
Pure virtual Functions
Abstract Base Classes
An Extended Inheritance Example
I/O in C++
The iostream Library
Predefined Streams
Overloading operator<<
Overloading operator>>
Manipulators
Stream States
Formatted I/O
Disk Files
Reading and Writing Objects
Advanced Topics
Template Functions
Template Classes
Multiple Inheritance
User-Defined Conversions
Data Structures
An Iterator Class
Exceptions
Introduction to the Standard Template Library
Introduction
The Standard Template Library
Design Goals
STL Components
Iterators
Example: vector
Example: list
Example: set
Example: map
Example: find
Example: merge
Example: accumulate
Function Objects
Adaptors
Appendix A: Introduction
Background
Environmental Considerations
A Sample C Program
Variables and Data Types
Arrays
Example of a Program Using an int Array
Components of a C Program
C Operators
Examples of the Opera
tors
Control Structures
Functions
Function Prototypes
Simple I/O
Appendix B: More I/O in C
The printf Function
The scanf Function
The Preprocessor
Conditional Compilation
Avoiding Multiple Inclusion for the Same File
Appendix C: Aggregates in C
Data Types Revisited
Aggregate Types
Arrays
Structures
Structures and Functions
Bit Fields
Enumeration Types
Appendix D: Pointers in C
Fundamental Concepts
Pointer Operations
Using Pointers to Alter a Function Argument
Using Pointers for Array Traversal
Pointer Arithmetic
Sending an Array to a Function
Command Line Arguments
Pointers vs. Arrays
Sending an Aggregate to a Function
Summary of the Uses of Pointers

AFTER THE COURSE, STUDENTS WOULD BE ABLE TO WORK AS

Explain how object-oriented software engineering enhances the software development process.
Identify the major elements in an object-oriented programming language.
Implement the concepts of data abstraction and encapsulation in the creation of abstract data types.
Implement operator overloading.
Use inheritance in C++.
Select the proper class protection mechanism.
Demonstrate the use of virtual functions to implement polymorphism.
Write programs utilizing the I/O classes in C++.
Understand some advanced features of C++ including templates, exceptions, and multiple inheritance.
Compare the object vs the procedural approach to writing software.
Use correct object oriented terminology.
Define and use classes in a C++ program.
Create and use abstract data types.
Derive classes using inheritance in C++.
Implement polymorphism by using virtual functions in a program.

Programme Schedule
Normal Track
Course Duration: 1 months
Schedule: 1 Hour/5 days a week
Fast Track
Course Duration: 15 Days
Schedule: 2 Hour/5 days a week