HOME
 

C++ Developer

StayAhead Training
Course summary
5 days
2,250 GBP excl. VAT
Professional Training
Next available date: 14/12/2020 09:30 - Online courses
Course Dates
London
14/12/2020 09:30 
2,250 GBP
22/02/2021 09:30 
2,250 GBP
19/04/2021 09:30 
2,250 GBP
Online courses
14/12/2020 09:30 
2,250 GBP
22/02/2021 09:30 
2,250 GBP
19/04/2021 09:30 
2,250 GBP

Course description

C++ is a powerful, multi-paradigm, general-purpose programming language. It may be used to build almost anything from operating systems to games. This hands-on course endeavours to provide the fundamental skills needed to become a C++ Developer.

Note: This is not a course for beginners. The delegate is expected to be familiar with programming concepts and have had some coding experience. If this is not the case, then they should consider attending our Introduction to Programming course instead.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Skills Gained

The delegate will learn and acquire skills as follows:

  • Write, compile, and execute a C++ program; read from stdin and write to stdout
  • Declare, initialise, and modify variables using all the built-in types
  • Build expressions using arithmetic, relational, and logical operators
  • Define and call functions; assemble multi-file programs
  • Determine the scope of a variable; perform type conversions
  • Code decisions and loops
  • Declare, initialise, use and manipulate arrays and strings
  • Make the case for, and use pointers and references appropriately
  • Pass arguments to a function by value, reference, and address; likewise return
  • Define encapsulated classes with attributes and methods; create and use objects
  • Overload operators
  • Code composite and aggregate object relationships
  • Code inheritance hierarchies
  • Exploit polymorphism using virtual methods
  • Construct and use template functions and classes
  • Handle exceptions
  • Read from a file and write to a file
Who will the Course Benefit?

The C++ Developer course is aimed at anyone who has had some coding experience seeking to become a C++ Developer. The course is also suitable for existing developers seeking to migrate to C++.

Course Objectives

This course aims to provide the delegate with the skills needed to build programs using C++ that exploit all of the fundamental elements of the language.

Requirements

Delegates attending this course should have some previous programming experience and be able to define general programming concepts including: compilation, execution, variables, arrays, sequence, selection, iteration, functions, objects, and classes. Moreover delegates should be able to navigate the filesystem (on the command line ideally), edit and save text files and browse the web. This knowledge can be obtained by attendance on the pre-requisite Introduction to Programming course.

Pre-Requisite Courses
  • Introduction to Programming
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.
C++ Developer Training Course

Course Contents - DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: GETTING STARTED

  • The C++ language
  • C++ editors
  • Program structure
  • Statements
  • Comments
  • The main function
  • Introduction to variables, literals, and expressions
  • Reading from stdin (cin) and writing to stdout (cout)
  • Compilation, execution, and debugging

Session 2: VARIABLES & DATA TYPES

  • Variable definition
  • Variable initialisation (copy, direct, brace/uniform)
  • Variable assignment
  • Integers
  • Floating point numbers
  • Boolean
  • Introduction to if statements
  • Characters
  • Strings
  • Enums
  • Structs
  • Literals
  • Constants
  • Naming conventions

Session 3: OPERATORS

  • Operator precedence and associativity
  • Arithmetic operators
  • The cmath library
  • Increment and decrement operators
  • Comma and conditional operators
  • Relational operators
  • Floating point number comparison
  • Logical operators

Session 4: FUNCTIONS

  • Definition
  • Invocation
  • Return values
  • Parameters and arguments
  • Local scope
  • Forward declarations and definitions
  • Multi-file programs
  • Namespaces
  • The preprocessor
  • Header files
  • Header guards
C++ Developer Training Course

Course Contents - DAY 2

Session 5: SCOPE & CONVERSIONS

  • Blocks
  • Local variables
  • Global variables
  • Shadowing
  • Internal and external linkage
  • Global constants and inline variables
  • Static local variables
  • Type aliases
  • The auto keyword
  • Implicit and explicit type conversion

Session 6: DECISIONS & LOOPS

  • If statements
  • Switch statements
  • Goto statements
  • While loops
  • For loops
  • Break and continue

Session 7: ARRAYS & STRINGS

  • Array declaration
  • Array initialisation
  • Array indexing
  • Passing arrays to functions
  • Sizing an array
  • Traversing an array
  • Sorting an array
  • Multi-dimensional arrays
  • Standard strings
  • Reading a line from cin using std::getline
  • Concatenating strings
  • Sizing a string
  • C-style strings
C++ Developer Training Course

Course Contents - DAY 3

Session 8: POINTERS & REFERENCES

  • The address-of operator
  • The dereference operator
  • Pointers
  • Pointer declaration and assignment
  • Null pointers
  • Pointers and arrays
  • Dynamic memory allocation
  • Smart pointers
  • References
  • Reference declaration and initialisation
  • References as function parameters
  • Using references to pass arrays to functions
  • Pointers vs. references
  • The for each loop
  • Introduction to std::array and std::vector

Session 9: MORE FUNCTIONS

  • Parameters and arguments revisited
  • Passing arguments by value, reference, and address
  • Returning values, references, and addresses
  • Inlining
  • Overloading
  • Default arguments

Session 10: CLASSES AND OBJECTS

  • Classes, attributes, and methods
  • Creating an object of a class
  • Getting and setting an object's attributes
  • Calling an object's methods
  • Access specifiers
  • Encapsulation
  • Constructors
  • Member initialisation
  • Destructors
  • The this pointer
  • Class definitions and header files
  • Const objects and member functions
  • Static attributes and methods
  • Friendly methods and classes
C++ Developer Training Course

Course Contents - DAY 4

Session 11: OPERATOR OVERLOADING

  • Arithmetic operator overloading using friendly and normal functions
  • IO operator overloading
  • Operator overloading using member functions (methods)
  • Other operator overloading
  • The copy constructor
  • Copy initialisation
  • Shallow vs. deep copying

Session 12: COMPOSITION & AGGREGATION

  • Object relationships
  • Composition
  • Aggregation
  • Associations
  • Dependencies

Session 13: INHERITANCE

  • What is inheritance and what is its purpose
  • Base and derived classes
  • Inheritance chains
  • Derived class constructors
  • Inheritance and access specifiers
  • Extending base class functionality
  • Overriding base class functionality
  • Multiple inheritance

Session 14: POLYMORPHISM

  • What is polymorphism and what is its purpose
  • Pointers and references to derived objects
  • Virtual functions
  • The override specifier
  • The final specifier
  • Pure virtual functions
  • Abstract base classes
  • Interface classes
  • Virtual base classes
  • Dynamic casting
C++ Developer Training Course

Course Contents - DAY 5

Session 15: TEMPLATES

  • What is a template and what is its purpose
  • Function templates
  • Template classes
  • Non-type parameters
  • Function template specialisation
  • Class template specialisation

Session 16: EXCEPTION HANDLING

  • Syntax and semantic errors
  • Detecting and handling assumption errors
  • Assert and static_assert
  • Return codes
  • Exceptions
  • Handling exceptions with try catch
  • Throwing and re-throwing exceptions
  • Catch-all handlers and exception specifiers
  • Custom exception classes

Session 17: INPUT & OUTPUT

  • Streams
  • The iostream library
  • Standard streams
  • The insertion and extraction operators
  • Manipulators
  • istream and ostream
  • ifstream and ofstream

C++ is a powerful, multi-paradigm, general-purpose programming language. It may be used to build almost anything from operating systems to games. This hands-on course endeavours to provide the fundamental skills needed to become a C++ Developer.

Note: This is not a course for beginners. The delegate is expected to be familiar with programming concepts and have had some coding experience. If this is not the case, then they should consider attending our Introduction to Programming course instead.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Skills Gained

The delegate will learn and acquire skills as follows:

  • Write, compile, and execute a C++ program; read from stdin and write to stdout
  • Declare, initialise, and modify variables using all the built-in types
  • Build expressions using arithmetic, relational, and logical operators
  • Define and call functions; assemble multi-file programs
  • Determine the scope of a variable; perform type conversions
  • Code decisions and loops
  • Declare, initialise, use and manipulate arrays and strings
  • Make the case for, and use pointers and references appropriately
  • Pass arguments to a function by value, reference, and address; likewise return
  • Define encapsulated classes with attributes and methods; create and use objects
  • Overload operators
  • Code composite and aggregate object relationships
  • Code inheritance hierarchies
  • Exploit polymorphism using virtual methods
  • Construct and use template functions and classes
  • Handle exceptions
  • Read from a file and write to a file
Who will the Course Benefit?

The C++ Developer course is aimed at anyone who has had some coding experience seeking to become a C++ Developer. The course is also suitable for existing developers seeking to migrate to C++.

Course Objectives

This course aims to provide the delegate with the skills needed to build programs using C++ that exploit all of the fundamental elements of the language.

Requirements

Delegates attending this course should have some previous programming experience and be able to define general programming concepts including: compilation, execution, variables, arrays, sequence, selection, iteration, functions, objects, and classes. Moreover delegates should be able to navigate the filesystem (on the command line ideally), edit and save text files and browse the web. This knowledge can be obtained by attendance on the pre-requisite Introduction to Programming course.

Pre-Requisite Courses
  • Introduction to Programming
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.
C++ Developer Training Course

Course Contents - DAY 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: GETTING STARTED

  • The C++ language
  • C++ editors
  • Program structure
  • Statements
  • Comments
  • The main function
  • Introduction to variables, literals, and expressions
  • Reading from stdin (cin) and writing to stdout (cout)
  • Compilation, execution, and debugging

Session 2: VARIABLES & DATA TYPES

  • Variable definition
  • Variable initialisation (copy, direct, brace/uniform)
  • Variable assignment
  • Integers
  • Floating point numbers
  • Boolean
  • Introduction to if statements
  • Characters
  • Strings
  • Enums
  • Structs
  • Literals
  • Constants
  • Naming conventions

Session 3: OPERATORS

  • Operator precedence and associativity
  • Arithmetic operators
  • The cmath library
  • Increment and decrement operators
  • Comma and conditional operators
  • Relational operators
  • Floating point number comparison
  • Logical operators

Session 4: FUNCTIONS

  • Definition
  • Invocation
  • Return values
  • Parameters and arguments
  • Local scope
  • Forward declarations and definitions
  • Multi-file programs
  • Namespaces
  • The preprocessor
  • Header files
  • Header guards
C++ Developer Training Course

Course Contents - DAY 2

Session 5: SCOPE & CONVERSIONS

  • Blocks
  • Local variables
  • Global variables
  • Shadowing
  • Internal and external linkage
  • Global constants and inline variables
  • Static local variables
  • Type aliases
  • The auto keyword
  • Implicit and explicit type conversion

Session 6: DECISIONS & LOOPS

  • If statements
  • Switch statements
  • Goto statements
  • While loops
  • For loops
  • Break and continue

Session 7: ARRAYS & STRINGS

  • Array declaration
  • Array initialisation
  • Array indexing
  • Passing arrays to functions
  • Sizing an array
  • Traversing an array
  • Sorting an array
  • Multi-dimensional arrays
  • Standard strings
  • Reading a line from cin using std::getline
  • Concatenating strings
  • Sizing a string
  • C-style strings
C++ Developer Training Course

Course Contents - DAY 3

Session 8: POINTERS & REFERENCES

  • The address-of operator
  • The dereference operator
  • Pointers
  • Pointer declaration and assignment
  • Null pointers
  • Pointers and arrays
  • Dynamic memory allocation
  • Smart pointers
  • References
  • Reference declaration and initialisation
  • References as function parameters
  • Using references to pass arrays to functions
  • Pointers vs. references
  • The for each loop
  • Introduction to std::array and std::vector

Session 9: MORE FUNCTIONS

  • Parameters and arguments revisited
  • Passing arguments by value, reference, and address
  • Returning values, references, and addresses
  • Inlining
  • Overloading
  • Default arguments

Session 10: CLASSES AND OBJECTS

  • Classes, attributes, and methods
  • Creating an object of a class
  • Getting and setting an object's attributes
  • Calling an object's methods
  • Access specifiers
  • Encapsulation
  • Constructors
  • Member initialisation
  • Destructors
  • The this pointer
  • Class definitions and header files
  • Const objects and member functions
  • Static attributes and methods
  • Friendly methods and classes
C++ Developer Training Course

Course Contents - DAY 4

Session 11: OPERATOR OVERLOADING

  • Arithmetic operator overloading using friendly and normal functions
  • IO operator overloading
  • Operator overloading using member functions (methods)
  • Other operator overloading
  • The copy constructor
  • Copy initialisation
  • Shallow vs. deep copying

Session 12: COMPOSITION & AGGREGATION

  • Object relationships
  • Composition
  • Aggregation
  • Associations
  • Dependencies

Session 13: INHERITANCE

  • What is inheritance and what is its purpose
  • Base and derived classes
  • Inheritance chains
  • Derived class constructors
  • Inheritance and access specifiers
  • Extending base class functionality
  • Overriding base class functionality
  • Multiple inheritance

Session 14: POLYMORPHISM

  • What is polymorphism and what is its purpose
  • Pointers and references to derived objects
  • Virtual functions
  • The override specifier
  • The final specifier
  • Pure virtual functions
  • Abstract base classes
  • Interface classes
  • Virtual base classes
  • Dynamic casting
C++ Developer Training Course

Course Contents - DAY 5

Session 15: TEMPLATES

  • What is a template and what is its purpose
  • Function templates
  • Template classes
  • Non-type parameters
  • Function template specialisation
  • Class template specialisation

Session 16: EXCEPTION HANDLING

  • Syntax and semantic errors
  • Detecting and handling assumption errors
  • Assert and static_assert
  • Return codes
  • Exceptions
  • Handling exceptions with try catch
  • Throwing and re-throwing exceptions
  • Catch-all handlers and exception specifiers
  • Custom exception classes

Session 17: INPUT & OUTPUT

  • Streams
  • The iostream library
  • Standard streams
  • The insertion and extraction operators
  • Manipulators
  • istream and ostream
  • ifstream and ofstream

Expenses

£2,250.00

Customer Outreach Award

customer-outreach-badge-2019

We believe that it should be easy for you to find and compare training courses. 

Our Customer Outreach Award is presented to trusted providers who are excellent at responding to enquiries, making your search quicker, more efficient and easier, too.

About provider

StayAhead Training: Linux, Oracle, SQL, Professional IT Courses

Live Virtual Training with our live Course Instructor is offered for all our courses.  Take the course from the comfort of your office, home or any location of your choice, nationally and internationally.  Public schedule and Closed Company courses.  Flexibility...


Read more and show all courses with this provider

Request info

Fill out your details to find out more about C++ Developer.

  Contact the provider

  Get more information

  Register your interest

Contact info

StayAhead Training

6 Long Lane, Barbican
EC1A 9HF London

 Show phone number
www.stayahead.com


Request information

Find out more about this C++ Developer course - simply fill out your details:

U.K. L&D Report: 2018 - Benchmark Your Workplace Learning Strategy

Are you curious about the L&D strategies of some of the U.K.'s top companies?

Find out what they're up to in findcourses.co.uk's second annual U.K. L&D Report!

uk-ld-report-2019

Learn more

Find a course for you!

  Read the course
 summary on this page

 Fill in your details and Request information

 Receive all the info you need

Find more courses here