Home
Company Profile
Our Clients
Training
Courses
course list
roadmap
all dates
forthcoming
booking
Graduate
Training
Mentoring
Location
Links
Contact us
 sign up for Feabhas e-news

 


 C++ Training Courses
C++-503
C++ for non-C Programmers

Length: 5 days
Cost: Contact Feabhas (available for on-site delivery only)
Course description - see below or view PDF
Check course dates - click here
Booking information - click here
 Course Detail

Course Description:
This course introduces the C++ language for use on real-time and embedded applications. It assumes no prior experience of C programming, and is suited to engineers with existing experience of other high-level languages (e.g. Ada).

Attendees perform hands on embedded programming, on target hardware, during course practicals. Approximately 50% of the course is given over to practical work.

Overview:
An intensive five day course covering C++ in the context of real-time embedded application development.

Course Objectives:
• To provide an understanding of the essentials of the C++ programming language.
• To give you practical experience of writing C++ for real-time systems.
• To demonstrate the traps and pitfalls of the language when used in a real-time system.
• To give you the confidence to apply these new concepts to your next real-time project.

Delegates will learn:
• The core C++ syntax and semantics
• How to access hardware in C++
• About memory and performance issues associated with C++
• How Real-time Operating Systems affect the use of the language

Pre-requistes:
• Experience of high-level programming, e.g. Ada
• Prior knowledge of C is not assumed

Who Should Attend:
The course is designed for engineers who are embarking on a project using C++ for the first time, but have little or no experience of C. It assumes they have previous high-level language experience (e.g. Ada).

Duration:
Five days

Course Materials:
Delegate Handbook

Related Courses:
• OO-503 Real-Time Systems Design with UML 2.0
• AC++-501 Advanced C++
• RTOS-201 Fundamentals of Real-Time Operating Systems

Course Workshop:
The course makes use of target hardware during the embedded programming practical exercises. The board targeted is the Hitachi 7045F Evaluation Board (SH2 micro-controller). An application board is programmed via the 7045F to give attendees a real-sense of embedded application development.

Course Outline

Background to C++
Introduction to C++ Programming
Types and Operators

- C base types
- Precedence & associativity
Control Flow
- Logical expressions and operations
- Decision Making
- Loops
Functions
- The Function as a logical program unit
- How parameters are passed
Arrays and Pointers
- Arrays as circular buffers
- Relationship between pointers & arrays
Introduction to Object Oriented (OO) Principles
- Key characteristics of OO development
- OO techniques and the real-time software development process
Introduction to Classes
- Classes & class instances
- Methods
- Constructors & destructors
More on Classes
- Inlining member functions
- const member functions
- static class members and functions
Inheritance
- Building class hierarchies
- Dynamic binding for class methods, virtual functions
- Polymorphism
Multiple inheritance (MI)
- MI and interfaces
Functions and Operators
- Class defined conversions
- Overloading and function selection
- Overloading operators
Exception Handling
- What are exceptions?
- Throwing and catching an exception
Templates
- Introduce parameterised types and functions
- Function and class templates
The Standard Library
- Introducing the Standard Template Library
Software Structuring
- Structuring large scale software systems
- Namespaces
Real-Time Specifics
- Low level facilities of C++ including:
- Accessing hardware
- Manipulating information at the bit level
- Polling
- Interrupts
Portability Considerations:
- Language features affecting portability;
- Non-standard C++ language features;
Concurrency:
- Concurrency;
- Sharing resources in multi-tasking systems;
- Synchronizing tasks;
- Transferring data between tasks.

 telelogic website

Training Courses
C Training Courses
C++ Training Courses
Embedded Linux
Training Courses

Java Training Courses
Microsoft Embedded Training Courses
MISRA-C Training Courses
RTOS Training Courses
Software Engineering Training Courses
SNMP Training Courses
SysML Training Courses
TCP/IP Training Courses
Testing Training Courses
Microsoft Windows Device Driver Courses
UML Training Courses

Feabhas Codes
AC-401
AC++-501
AWDM-501
CE-501
C-501
C++-303
C++-501
C++-502
C++-503
DP-402
EL-201
EL-202
EL-301
EL-503
EL-504
J-501
J-502
MC-101
MSDN-2530
MSDN-2535
MSDN-2540
MSDN-2545
MSDN-2540N
NDIS-501
OO-101
OO-301
OO-503
RB-201
RTOS-201
SE-401
SE-501
SNMP-301
T-401
TCP-401
WDF-501
WDM-501