C++ and Programming Basics for Non-Programmers is a five-day, basic-level training course geared for IT candidates who have little or no prior experience in computer programming. Throughout this gentle introduction to programming and C++, students will learn to create applications and libraries using C++ using best practices and sound OO development techniques for writing object-oriented programs in C++. Special emphasis is placed on object-oriented concepts and best practices throughout the training.


* Actual course outline may vary depending on offering center. Contact your sales representative for more information.

Learning Objectives

Companies are constantly challenged to keep their applications, development projects, products, services (and programmers!) up to speed with the latest industry tools, skills, technologies and practices to stay ahead in the ever-shifting markets that make up today's fiercely competitive business landscape. The need for application, web and mobile developers and coders is seemingly endless as technologies regularly change and grow to meet the modern needs of demanding industries and clients.

  • Fundamentals of the Program Development Cycle

  • Computer Architecture
    The Notion of Algorithms
    Source Code vs. Machine Code
    Compile-Time vs. Run-Time
    Software Program Architecture
    IDE (Interactive Development Environment) Concepts
    Looping Constructs
    Counter-Controlled Repetition
    Sentinel-Controlled Repetition
    Nested Control Constructs
    break and continue Statements
    Structured Programming Best Practices

  • Writing Methods (Functions)

  • Static vs. Dynamic Allocation
    Declaring Methods
    Declaring Methods with Multiple Parameters
    Method-Call Stack
    Scope of Declarations
    Argument Promotion and Casting
    Designing Methods for Reusability
    Method Overloading

  • Arrays

  • Purpose of Arrays
    Declaring and Instantiating Arrays
    Passing Arrays to Methods
    Multidimensional Arrays
    Variable-Length Argument Lists
    Using Command-Line Arguments
    Using Environment Variables

  • Deeper Into Classes and Objects

  • Controlling Access to Class Members
    Referencing the Current Object Using this
    Overloading Constructors
    Default and No-Argument Constructors
    Composition of Classes
    Garbage Collection and Destructors
    The finalize Method
    Static Class Members

  • Defining Classes Using Inheritance Application Development Fundamentals

  • Structure of a C++ Program
    Memory Concepts
    Fundamental Data Type Declarations
    Fundamental I/O Concepts
    Fundamental Operators
    Arithmetic Operators
    Logical Operators
    Precedence and Associativity
    Building and Deploying a C++ Program
    Superclasses and Subclasses
    Advantages of Using Inheritance
    protected Class Members
    Constructors in Subclasses

  • Increasing Convenience by Using Polymorphism

  • Purpose of Polymorphic Behavior
    The Concept of a Signature
    Abstract Classes and Methods
    final Methods and Classes
    Purpose of Interfaces
    Using and Creating Interfaces
    Common Interfaces of the C++ API

  • Files and Streams

  • Concept of a Stream
    Class File
    Sequential Access
    Object Serialization to/from Sequential Access Files

  • Fundamental Searching and Sorting

  • Introduction to Searching Algorithms
    Linear Search
    Binary Search
    Introduction to Sorting Algorithms
    Selection Sort
    Insertion Sort
    Merge Sort

  • Fundamental Data Structures

  • Dynamic Memory Allocation
    Linked Lists

  • Exception Handling

  • Types of Exceptions
    Exception Handling Overview

  • Introduction to Classes and Objects

  • Classes, Objects and Methods
    Object Instances
    Declaring and Instantiating a C++ Object
    Declaring Methods
    set and get Methods
    Initiating Objects with Constructors
    Primitive Types vs. Reference Types

  • Flow Control

  • Conditional Constructs
    Exception Class Hierarchy
    Extending Exception Classes
    When to Throw or Assert Exceptions

  • Formatted Output

  • printf Syntax
    Conversion Characters
    Specifying Field Width and Precision
    Using Flags to Alter Appearance
    Printing Literals and Escape Sequences
    Formatting Output with Class Formatter

  • Strings, Characters and Regular Expressions

  • Fundamentals of Characters and Strings
    String Class
    String Operations
    StringBuilder Class
    Character Class
    StringTokenizer Class
    Regular Expressions
    Regular Expression Syntax
    Pattern Class
    Matcher Class

  • Fundamental GUI Programming Concepts

  • Overview of Swing Components
    Displaying Text and Graphics in a Window
    Event Handling with Nested Classes
    GUI Event Types and Listener Interfaces
    Mouse Event Handling
    Layout Managers


This course is intended for anyone who is new to software development and wants, or needs, to gain an understanding of the fundamentals of coding and basics of C++ and object-oriented programming concepts. This course is for Non-Developers, or anyone who wants to have a basic understanding of and learn how to code C++ applications and syntax




Before attending this course, students must have: Ability to use computers to start programs, open and save files, navigate application menus and interfaces Ability to understand logical concepts such as comparisons Understand number theory Ability to create, understand, and follow structured directions or step-by-step procedures Ability to understand and apply abstract concepts to concrete examples


Length: 5.0 days (40 hours)


Not Your Location? Change

Course Schedule:

Schedule select
10:00 AM ET -
6:00 PM ET
Filling Fast