Introduction to Programming and Coding | C++ Basics for Non-Developers

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

TTCODE101-CP

Basic

5 Days

Course Overview

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. 

There are hundreds of roles that reply on coding knowledge and programming skills.  Having programming skills can enable you to:

  • Develop applications and contribute to application development projects and teams
  • Integrate, change. expand or maintain outsourced development work being brought back in house
  • Use or maintain software, tools, systems or networks that require coding skills to operate, handle data or complete other tasks
  • Collaborate and communication more effectively with developers
  • More effectively manage development teams or projects that involve programming

Learning to code, even to a basic level, is a truly worthwhile investment. Having coding skills, or even basic knowledge, can elevate your ability gain a new job in programming, help you gain longer term job security in your current organization, or can even expand your current role into other areas in your team or organization.

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. 

Course Objectives

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 Prerequisites

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

Attendees might include:

  • Anyone who wants exposure to basic coding skills, or who wants to begin the process of becoming an OO application developer
  • Technical team members from non-development roles, re-skilling to move into software and application development roles within an organization
  • Recent college graduates looking to apply their college experience to programming skills in a professional environment, or perhaps needing to learn the best practices and standards for programming within their new organization
  • Technical managers tasked with overseeing programming teams, or development projects, where basic coding knowledge and exposure will be useful in project oversight or communications needs

NOTE: Students new to coding, but coming from an IT background, or who have some familiarity with scripting, programming or development, should consider the TTCP2000 C++ Programming for Non-Developers as an alternative. It moves at a slightly quicker pace.

Pre-Requisites

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

Please see the Related Courses tab for specific Pre-Requisite courses, Related Courses that offer similar skills or topics, and next-step Learning Path recommendations.

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most.

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

 

Course Materials

Student Materials: Each participant will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.

Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based course environment is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. Please inquire for details and options.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Attend a Course

Please see the current upcoming available open enrollment course dates posted below. Please feel free to Register Online below, or call 844-475-4559 toll free to connect with our Registrar for assistance. If you need additional date options, please contact us for scheduling.

Course Title Days Date Time Price
Introduction to Programming and Coding | C++ Basics for Non-Developers 5 Days Oct 18 to Oct 22 10:00 AM to 06:00 PM EST $2,595.00 Enroll
Introduction to Programming and Coding | C++ Basics for Non-Developers 5 Days Nov 30 to Dec 4 10:00 AM to 06:00 PM EST $2,595.00 Enroll

New Site, BIG Savings!
We're celebrating the launch of our lonnngggg awaited new site with with *50% off all 2021 Public Classes* booked by April 30!  Check out our Current Offers for Individuals, Teams and Organizations to Learn for Less!

See our latest Offers and Promotions

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More