Checkout

Cart () Loading...

    • Quantity:
    • Delivery:
    • Dates:
    • Location:

    $

Gentle Introduction to Programming and Coding | C++ Basics for Non-Developers (TTCODE101-CP)

Kickstart Your Software Development Skills with this Gentle Introduction to Coding, Object Oriented Development and C++.

GK# 101064 Vendor# TTCODE101-CP
Vendor Credits:
No matching courses available.
Start learning as soon as today! Click Add To Cart to continue shopping or Buy Now to check out immediately.
Access Period:
Scheduling a custom training event for your team is fast and easy! Click here to get started.
$
Your Selections:
Location:
Access Period:
No available dates

Who Should Attend?

Non-Developers who wish to learn basic coding skills, working with C++.

What You'll Learn

Introduction to Programming & Coding | C++ Basics for Non-Developers is a skills-focused, hands-on coding course that teaches students the fundamentals of programming object oriented (OO) applications with C++ to a very basic level. This course is presented in a way that enables interested students from any background to embrace the fundamentals of coding as well as an introduction to C++, in a gentle paced environment that focuses on coding basics, moving at the comfort level of the attendees.

Students are introduced to the application development cycle, structure of programs, and specific language syntax. The course introduces important algorithmic constructs, string and character manipulation, dynamic memory allocation, standard I/O, and fundamental object-oriented programming concepts. The course explains the use of inheritance and polymorphism early on so the students can practice extensively in the hands-on labs. Structured programming techniques and error handling are emphasized. The course includes the processing of command line arguments and environment variables, so students will be able to write flexible, user-friendly programs. Students will leave this course armed with the required skills to begin their journey as a programmer using modern coding skills and technologies.

Course Outline

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
  • Standalone
  • Client/Server
  • Distributed
  • Web-Enabled
  • IDE (Interactive Development Environment) Concepts

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

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
  • 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

  • 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

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
  • Stacks
  • Queues
  • Trees

Exception Handling

  • Types of Exceptions
  • Exception Handling Overview
  • 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
BUY NOW

Labs Outline

This hands-on course focuses on ‘learning by doing’, combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world programming labs and exercises. Student machines are required.

BUY NOW

Prerequisites

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

Follow-On Courses

Follow On Courses: Our Skills Academy Developer Tracks include a wide variety of follow-on courses and learning paths for leveraging C++ for next-level development, testing, security and more. Please see our C++ Developer Training Suite & Learning Paths list of courses, or inquire for recommendations based on your specific role and goals.