Course Specifications
Course number: 085953
Software: DGJPP
Course length: 5.0 day(s)
Course Description
In your day-to-day life, you might have come across various applications that involve software components. All these software applications are developed using programming languages. As a programmer, you would like to create an application that will be of use to your clients. In the C++ Programming: An Introduction course, you will use object-oriented programming principles to write programs in C++.
Course Objective: You will migrate from C to C++, explore the object-oriented programming concepts, create classes and instances, implement inheritance and data abstraction within your classes. You will also create templates, and use C++ libraries and handle various exceptions.
Target Student: The target student for this course is an entry-level programmer interested in developing applications using C++. Job changers, or persons with an academic background in a field other than computer science or programming, who wish to embark on a course of study that will prepare them for employment as professional software developers. It is also intended for programmers who are interested in extending their skills in C, C++ and Java.
Prerequisites: Participants must have a foundation in C programming and have an understanding of object-oriented concepts such as classes and inheritance. Suggested pre-requisite Element K courses are:
- C Programming: An Introduction
- Object-Oriented Programming Principles
Delivery Method: Instructor led, group-paced, classroom-delivery learning model with structured hands-on activities.
Hardware Requirements
On each student’s machine, you need the following hardware:
- Intel® Pentium® 1 GHz or higher processor.
- 512 megabytes (MB) of RAM or more.
- 10 gigabytes (GB) of available hard-disk space or more.
- CD-ROM drive or DVD-ROM drive.
- Color monitor with a 16-bit or greater video card.
- Monitor with 1024 x 768 monitor resolution.
- Microsoft Mouse, Microsoft IntelliMouse®, or a compatible pointing device.
- The Internet connection.
- Display system to project the instructor’s computer screen.
Platform Requirements
- Microsoft® Windows® XP Professional with Service Pack 2 or Microsoft® Windows Vista™ Business Edition.
Software Requirements
- Microsoft® Windows® XP Professional with Service Pack 2 or Microsoft® Windows Vista™ Business Edition.
- WinZip or a similar compression/extraction utility.
- A source code editor, Notepad++ 5.0 or above.
- DJGPP v2.03 compiler.
Performance-Based Objectives
Upon successful completion of this course, students will be able to:
- identify the basic differences between C and C++, and compile and execute a simple C++ program.
- identify the key differences between C and C++.
- understand the object-oriented programming concepts.
- manage data storage.
- work with classes and objects.
- use friend and inline functions.
- use static data members and member functions.
- work with constructors and destructors.
- implement compile-time polymorphism by overloading operators.
- implement compile-time polymorphism by overloading functions.
- implement runtime polymorphism using inheritance.
- implement runtime polymorphism using virtual functions.
- handle exceptions.
- work with input and output streams.
- work with templates.
- use the Standard Template Library.
Course Content
- Lesson 1: Getting Started with C++
- Topic 1A: Identify the Basic Differences Between C and C++
- Topic 1B: Compile and Execute a Simple C++ Program
- Lesson 2: Migrating from C to C++
- Topic 2A: Declare Variables
- Topic 2B: Work with Arrays and Strings
- Topic 2C: Use Qualifiers in C++
- Topic 2D: Use Functions in C++
- Lesson 3: Understanding OOPs Concepts
- Topic 3A: Object-Oriented Programming
- Topic 3B: Object Oriented Paradigm
- Lesson 4: Managing Data Storage
- Topic 4A: Understand Memory Allocation
- Topic 4B: Control Dynamic Memory Allocation
- Lesson 5: Working with Classes and Objects
- Topic 5A: Define a Class
- Topic 5B: Create an Object
- Topic 5C: Instantiate a Class Using the new Operator
- Lesson 6: Using Friend and Inline Functions
- Topic 6A: Use Friend Functions
- Topic 6B: Use Inline Functions
- Lesson 7: Using Static Data Members and Member Functions
- Topic 7A: Work with Static Data Members
- Topic 7B: Work with Static Member Functions
- Lesson 8: Working with Constructors and Destructors
- Topic 8A: Initialize Instance Variables Using Constructors
- Topic 8B: Destroy Instances Using Destructors
- Lesson 9: Implementing Compile-time Polymorphism by Overloading Operators
- Topic 9A: Overload Arithmetic Operators
- Topic 9B: Overload I/O Operators
- Topic 9C: Overload Assignment Operator
- Lesson 10: Implementing Compile-time Polymorphism by Overloading Functions
- Topic 10A: Overload Functions
- Topic 10B: Overload Constructors
- Lesson 11: Implementing Runtime Polymorphism Using Inheritance
- Topic 11A: Inherit a Class
- Topic 11B: Work with Derived Classes
- Topic 11C: Inherit Multiple Classes
- Topic 11D: Use Virtual Base Classes
- Lesson 12: Implementing Runtime Polymorphism Using Virtual Functions
- Topic 12A: Override Functions
- Topic 12B: Implement an Abstract Class
- Lesson 13: Handling Exceptions
- Topic 13A: Handle an Exception Using the try and catch Block
- Topic 13B: Handle Derived Class Exceptions
- Lesson 14: Working with Input and Output Streams
- Topic 14A: Use Input and Output Streams
- Topic 14B: Control Input/Output Using Manipulators
- Topic 14C: Access Files Using Sequential Access
- Topic 14D: Access Files Using Random Access
- Lesson 15: Working with Templates
- Topic 15A: Use Template Classes and Functions
- Topic 15B: Overload a Template Function
- Lesson 16: Using the Standard Template Library
- Topic 16A: Work with Vectors
- Topic 16B: Work with Lists
- Topic 16C: Work with Maps