Consultancy and Total Solutions Training Provider for Embedded Systems, Electronics and Electrical Engineering, Programming, Computing, Operations, ISO9000, ISO14000 and Management.

Bridging the Gap

Training Courses



Fundamental C++ for Engineers

Course id: 0024

Synopsis

C++ is one of the most popular programming languages and its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games.

While the power and complexity of the language lends itself to being used to solve problems in various domains, they also make the language particularly difficult to navigate and apply towards engineering-type applications.

This course is specifically tailored for engineers intending to move from a C-based development environment to a C++ one; or programmers familiar with C++ and similar languages, onto a more focused use of C++ for engineering applications.

Course highlight
Participants will have practical experiences writing, verifying and debugging applications between C and C++ languages. Participants will gain an appreciation for the advantages and disadvantages of using C++ as a core development language.

GCC and GDB are the tools used under the Eclipse environment.

What you will learn

This course concentrates on the theoretical and practical knowledge to allow participants to achieve the following learning outcomes. Upon completing the course, participants would be able to:
  • Understand the object-oriented paradigm and write structured, concise object-oriented code
  • Interface C code with C++ code
  • Code using advanced C++ features such as namespaces, overloading and templates
  • Use the standard template library (STL) for rapid application development and reliable coding
  • Develop scientific applications using Boost

Who should attend

This course is particularly suited for design engineers, application engineers, software engineers and programmer responsible for designing, implementing and verifying C/C++ software and systems.

Prerequisite

Participants must have some C programming experience (PC environment). Participants lacking it are highly recommended to attend the 'C Programming for Engineers' course before hand.

Course methodology

This course is presented in a workshop style with example-led lectures interlaced with hands-on practical for maximum understanding.

Course duration

3 days.

Course structure

  • Introduction
    • What is C++
    • What is the difference from C?
    • Why do we use C++?
    • Useful Features of C++ (Namespaces, Objects, Data-structures & Algorithms, Overloading, Templates)
  • Using standard C from C++
    • What are the standard C libraries
    • Using standard C from C++
    • Using printf vs cout?
  • Namespaces
    • What are namespaces?
    • Why do we use namespaces?
    • Using namespaces to organise code
  • Objects
    • What are objects?
    • Why do we use objects?
    • Making something public, private, protected and virtual?
  • Making code C/C++ compatible
    • Writing a C++ library for both C/C++
    • Writing a C++ object for both C/C++
  • Data-structures & Algorithms
    • What is the STL?
    • Re-inventing the wheel?
    • Using common members of the STL – LL, FIFO, LIFO, RB
    • Using common algorithms of the STL – sorting and searching
  • Function Overloads
    • What are overloaded functions?
    • How is this made possible?
    • When to use function overloading
  • Templates
    • What are templates?
    • Using templates for engineering code?
  • Myths of C++
    • C++ code is big & slow
    • C++ code is complicated
  • Introducing Boost
    • What is Boost?
  • Discussion & Conclusion

Course Schedule

 

 

Consultancy


 

News on ProvenPac


 
  ProvenPac Sdn. Bhd.
  C-4-3 Gembira Park,
  Jalan Riang, 58200
  Kuala Lumpur, Malaysia

  Tel: +603 03 5889 5889

No public course
currently scheduled.

 

Please inform me when
this course is scheduled.

 

Please contact me to
arrange in-house training.