First designed as a "general–purpose programming language which features economy of expression, modern control flow and data structures, and a rich set of operators" for the UNIX operating system, C’s generality and absence of restrictions have made it a popular language for many applications.
C++ adds support for the object–oriented paradigm (including multiple inheritance & abstract classes), templates, and exception handling, and improves support for large systems.
Format: Lecture-workshop, 5 days
Intended For: Software development personnel, including their management and QA engineers, who intend to program in C++.
Prerequisites: Programming experience, familiarity with a high-level language.
Overview: This course teaches the student how to write high quality, internally documented, well-structured C++ programs. Students will learn how C++ supports software engineering principles, such as abstraction, information hiding, localization, and modularity, and how to apply these principles in software development. Students will see how C++ incorporates and improves upon ISO C, then adds features supporting object–oriented design & programming, error management, and templates. The student will gain experience with syntax and semantics of the ISO standard C++ language. Finally, we will look at how the new Standard Library reduces the amount of code that needs to be developed and improves reliability through re-use.