The comprehensive, five-day course consists of three modules. A preliminary module reviews topic, including inheritance, the ANSI C++ Standard Library, templates, I/O streams, and practical issues of C++ programming, such as reliability, testing, efficiency, and interfacing to C. This material is covered as needed depending on the background of the students. The second module covers more advanced topics. Advanced issues of inheritance and polymorphism are covered, as are the principles of effective class design, including the orthodox canonical form, use of composition, templates, and interface inheritance. The course covers exception handling and runtime type information (RTTI). Multiple inheritance is covered, including the complications that are introduced by this powerful feature. Advanced applications of C++ concepts are studied, including smart pointers and reference counting. The third module introduces the Standard Template Library (STL). The main components of data structures, algorithms, and iterators are covered. Illustrations are provided of a number of important containers, such as vectors, stacks, queues, lists, and sets. Extensive programming examples and exercises are provided. A number of progressively developed case studies are used to illustrate object-oriented programming techniques and to give the student practical experience in putting together features of C++ learned in the course. A file is provided containing all the examples and laboratory exercises in the course.
Learning Objectives
Students will be able to demonstrate knowledge and implementation of intermediate and advanced C++ programming and topics as well as the fundamentals of STL
Framework Connections
The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):
Competency Areas
Feedback
If you would like to provide feedback on this course, please e-mail the NICCS team at NICCS@mail.cisa.dhs.gov. Please keep in mind that NICCS does not own this course or accept payment for course entry. If you have questions related to the details of this course, such as cost, prerequisites, how to register, etc., please contact the course training provider directly. You can find course training provider contact information by following the link that says “Visit course page for more information...” on this page.