We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details >

AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers


C++ Programming (Online, Self-Paced)

+ View more dates & times
  • Overview

    This course continues the development of programming and problem-solving skills, focusing on the C++ programming language, object-oriented programming and design (OOP/OOD), and improved programming practices. Daily classes will be divided between lecture and hands-on programming exercises.

    Topics include: An introduction to the C++ programming language including string and vectors, encapsulation and information hiding, inheritance and polymorphism, exceptions and templates.

    There is a shortage of C++ programmers with the skills and problem solving abilities necessary to develop and maintain the software applications and Web services that power our nation’s businesses and government agencies. This represents a tremendous career opportunity for motivated individuals with the right skills and qualifications. This online C++ Programming course is an excellent step toward a rewarding career as a software developer. It is also a suitable course for experienced programmers who wish to learn C++ at their own pace.


    • Understand the basic object-oriented programming concepts of encapsulation, information hiding, composition, inheritance, polymorphism and generic programming.
    • Understand the fundamental programming concepts of abstract data types
    • Properly design, implement and test classes in C++


    This is a self-paced, instructor-mentored course. Students access the course lessons through UMBC Training Centers’ Web-based Learning Management System (LMS). A textbook will be mailed to the student shortly after successful class registration. Students complete lessons independently, working at their own pace. Students may email questions to the instructor and submit programming exercises to the instructor for review and feedback.

    To complete the course, the student must complete and submit the required programming assignments within the LMS. Students will have 90 days from the date of course registration to complete the course. It is recommended that students complete at least one LMS module (lesson) per week. Nothing prevents the student from working at a faster pace and completing in the course in a shorter amount of time.

  • Who Should Take This Course


    A complete list of system requirements can be found here.


    Students who enroll in this course should have completed our “Intermediate C Programming” course or have a good working knowledge of the C programming language, which includes writing functions, character and string handling, separate compilation, basic pointer manipulation, file I/O, using structures, functional abstraction, and using library functions.

  • Schedule
  • Course Outline

    Basic OOP concepts

    • Classes and Objects
    • Encapsulation and data hiding,
    • Public interfaces
    • Inheritance and polymorphism
    • Generic programming

    C++ Basics

    • Variables and operators
    • Basic input/output
    • Libraries and namespaces
    • Pointers and references
    • Basic Control Flow
    • Basic File Input
    • Strings and Vectors


    • Prototypes, parameters and arguments
    • Procedural abstraction
    • Scope rules
    • Pass by value and reference
    • Default arguments
    • Function signatures and overloading

    Class definitions

    • OOP principles and examples
    • Classes vs. structures
    • Public attributes, methods
    • Class vs. object
    • Abstract Data Types
    • Encapsulation
    • Private attributes
    • Accessors/mutators
    • Member functions

    Constructors and Other Tools

    • Constructor basics
    • Default constructor
    • Overloaded constructors
    • Initialization lists
    • Implicit and Explicit constructor calls
    • Aggregation
    • Copy constructors, type converters and destructors
    • Static data members and functions
    • Operator Overloading
    • As member functions
    • As non-member functions
    • A friend functions
    • Stream insertion operator


    • Base and derived classes
    • Rules for access
    • Derived class constructors
    • Protected members in base class
    • Function overriding
    • Inheritance Hierarchies
    • Class relationships


    • Types of Polymorphism
    • Pointers and references
    • Pointers and virtual functions
    • Dynamic vs. static binding
    • Abstract classes and pure virtual functions


    • Generic Programming
    • Function templates
    • Class templates
    • File organization and compiling


    • Runtime errors
    • Current Error Handling Techniques
    • Error  Detection vs. Error handling
    • Try, throw, catch blocks and logic flow
    • Multiple catch blocks
    • Exceptions in a function
    • Exception class hierarchy
    • Exceptions not caught
    • Exceptions in constructors

    Advanced Topics

    • Dynamic Memory Allocation
    • The this pointer
    • Implementing the Assignment Operator
    • Implement the Copy Constructor
    • Destructors
  • FAQs
    Is there a discount available for current students?

    UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.

    What is the cancellation and refund policy?

    Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.

Contact Us