Introduction to Programming and C++ Basics for Non-Programmers

Introduction to Programming and 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. Ref# TTCP2000

Course Outline

Course Overview

Introduction to Programming and 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. 

Working in a hands-on learning environment, guided by our expert team, attendees will learn:

  • Learn about basic computer architecture (memory, CPU, IO)
  • Gain basic knowledge of the C++ programming language, features and functions in today?s development initiatives
  • Gain hands-on practice using C++ basic syntax and functions to build basic software applications
  • Learn about Object Oriented development and best practices
  • Learn and apply core development functions such as dynamic memory, inheritance, value type / reference types, exceptions and more
  • Get a light introduction to the C++ Standard Library
  • Gain skills required to exit the course with a foundation in basic programming skills and C++ knowledge to carry forward to additional study and practice.

Course Objectives

This ?skills-centric? course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices. Working in a hands-on learning environment, guided by our expert team, attendees will learn:

  • Learn about basic computer architecture (memory, CPU, IO)
  • Gain basic knowledge of the C++ programming language, features and functions in today?s development initiatives
  • Gain hands-on practice using C++ basic syntax and functions to build basic software applications
  • Learn about Object Oriented development and best practices
  • Learn and apply core development functions such as dynamic memory, inheritance, value type / reference types, exceptions and more
  • Get a light introduction to the C++ Standard Library
  • Gain skills required to exit the course with a foundation in basic programming skills and C++ knowledge to carry forward to additional study and practice.

Who Should Attend

This basic 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.

Attendees might include:

  • Technically-minded attendees who want or who want 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

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. 

Introduction to Computer Programming & Thinking Like a Programmer

Programming Tools

  • Explain why we use various tools when programing
  • Define the four major types of tools
  • Lab: Setup the Development Environment'
  • Basic computer architecture (memory, CPU, IO)
  • Programming languages

Programming Basics

  • Explain why different languages have different syntax
  • Understand some basic features of any program
  • Explain why we would break a program apart
  • Using an IDE / Integrated Development Environment

Thinking About Objects

  • Define what an object is
  • Explain the difference between an object and a class
  • Design a class using a class diagram
  • Understand how to define a basic class
  • Explain how to compile and run a C++ application

Programming Constructs

  • Explain what variables and constants are and when to use the
  • Explain what arrays are and why they are used
  • Explain what a method is
  • Write if statements
  • Write loops
  • Modeling an Television Object

C++ Basics

C++ General Language Features

  • Basic syntax
  • Data types
  • Program flow
  • If/else
  • Loops
  • Intro Functions

Data Structures

  • Structures
  • Classes

Introduction to Object-Oriented Features

  • Overview of O-O concepts
  • Constructors/Destructors
  • Static (class members)
  • Constants
  • Object Relationships
  • Abstract Types

Dynamic Memory

  • Object Lifecycle
  • new
  • delete

Inheritance

  • Overview
  • Base Classes
  • Derived Classes
  • Overriding members
  • Abstract members and classes

Value Types vs Reference Types

Exceptions

  • Throwing
  • Catching
  • Defining custom exceptions

Intro C++ Std Library

  • I/O classes
  • Collections
  • Utility

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. Any courseware of lab materials provided in a cloud (if applicable) will also be made available to you separately.

Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ?easy-access? cloud-based course environment, or local installation, 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. We can also help you install this course locally if preferred. Please inquire for details and options.

Every-Course Extras = High-Value & Long-Term Learning Support! All Public Schedule courses include our unique EveryCourse Extras package (Post-Course Resource Site access with Review Labs & Live Instructor Follow-on Support, access to QuickSkills recorded High-Value lessons, Free *Live* Course Refresh Re-Takes, early access to Special Offers, Free Courses & more). Please inquire for details.

Training Location

Virtual Instructor Led Online Training
your home or offce

your city, your province
your country