| 
					
					5 day class
 Course Description
 
 Overview: This 
					course provides a practical hands-on introduction to the C++ 
					programming language. Participants will learn the central 
					concepts of the C++ language, with emphasis on the use of 
					object-oriented techniques in writing robust code.
 
 Prerequisites
 
 Participants must be fluent in ANSI C and have an 
					understanding of object-oriented concepts such as classes 
					and inheritance.
 
 Performance-Based Objectives
 
 Lesson objectives help students become comfortable with the 
					course, and also provide a means to evaluate learning. Upon 
					successful completion of this course, students will be able 
					to:
 
						
						Describe object-oriented programming techniques.
						Use the syntax and semantics of the C++ programming 
						language.
						Create new classes.
						Write an object-oriented program in C++.
						Discovering both initialization and assignment.
						Describe the process of data abstraction.
						Create new data types using inheritance.
						Discover about polymorphism.
						Use C++ class libraries.
						Implement exception handling.
						Write template functions and classes. 
					Course Outline
 
 Lesson 1: C++ 
					Overview
 
						
						Topic 1A: C++ Characteristics
						Topic 1B: Object-Oriented Terminology
						Topic 1C: Polymorphism
						Topic 1D: Object-Oriented Paradigm
						Topic 1E: Abstract Data Types
						Topic 1F: I/O Services
						Topic 1G: Standard Template Library
						Topic 1H: Standards Compliance 
					
					Lesson 2: Functions 
					and Variables 
						
						Topic 2A: Functions: Declaration and Definition
						Topic 2B: Variables: Definition, Declaration and Scope
						Topic 2C: Variables: Dynamic Creation and Derived Data
						Topic 2D: Arrays and Strings in C++
						Topic 2E: Qualifiers 
					
					Lesson 3: Classes 
					in C++ 
						
						Topic 3A: Defining Classes in C++
						Topic 3B: Classes and Encapsulation
						Topic 3C: Member Functions
						Topic 3D: Instantiating and Using Classes
						Topic 3E: Using Constructors
						Topic 3F: Multiple Constructors and Initialization Lists
						Topic 3G: Using Destructors to Destroy Instances
						Topic 3H: Friendship 
					
					Lesson 4: Operator 
					Overloading 
						
						Topic 4A: Operator Overloading
						Topic 4B: Working with Overloaded Operator Methods 
					
					Lesson 5: Initialization 
					and Assignment 
						
						Topic 5A: Initialization vs. Assignment
						Topic 5B: The Copy Constructor
						Topic 5C: Assigning Values
						Topic 5D: Specialized Constructors and Methods
						Topic 5E: Constant and Static Class Members 
					
					Lesson 6: Storage 
					Management 
						
						Topic 6A: Memory Allocation
						Topic 6B: Dynamic Allocation: new and delete 
					
					Lesson 7: Inheritance 
						
						Topic 7A: Overview of Inheritance
						Topic 7B: Defining Base and Derived Classes
						Topic 7C: Constructor and Destructor Calls 
					
					Lesson 8: Polymorphism 
						
						Topic 8A: Overview of Polymorphism 
					
					Lesson 9: Input 
					and Output in C++ Programs 
						
						Topic 9A: Standard Streams
						Topic 9B: Manipulators
						Topic 9C: Unformatted Input and Output
						Topic 9D: File Input and Output 
					
					Lesson 10: Exceptions 
						
						Topic 10A: Exceptions
						Topic 10B: Inheritance and Exceptions
						Topic 10C: Exception Hierarchies
						Topic 10D: Inside an Exception Handler 
					
					Lesson 11: Templates 
						
						Topic 11A: Template Overview
						Topic 11B: Customizing a Templated Method
						Topic 11C: Standard Template Library Containers 
					  
					      |