Software engineers, programmers, and analysts who have written some simple C++ programs or have been performing maintenance on applications of small to medium size. This course focuses on common techniques in C++ and not on language features themselves, thus it is a good choice for individuals responsible for day-to-day programming who are not interested in advanced design or programming techniques. (Those individuals should consider our Advanced C++ course.)
This course is more about "hands on implementation" than "language features". Note that all hands-on exercises are performed in a POSIX environment (typically Ubuntu Linux).
auto_ptr
)
regex
and format
)
Upon completion of this course, the student will be able to:
Use STL classes effectively and efficiently;
Recognize many of the STL templated functions and how to call them;
Create and use function objects (commonly called functors);
Understand the relationship between container classes and iterators.
Students are invited to bring their current ideas and questions to the classroom for discussion. Lecture, group problem solving, and online laboratories will be used. Students will be encouraged to enhance their skills utilizing the techniques presented through classroom problem solving and controlled online workshops. This course is approximately 60% labwork.
This course does not concentrate on the use of any one particular development tool. Instead, the students are encouraged to learn the proper design and implementation techniques by hand-coding their applications. If development tools are available at the training site and the instructor is familiar with them, their use will be demonstrated and the students guided in the use of such tools.
This course teaches the student techniques for improving performance and/or readability by utilizing newer language features or through practice with unfamiliar techniques. Therefore, at least 3 months experience writing C++ code is required for the student to gain the maximum benefit from this course. If the student's experience is primarily maintenance on existing code, at least 9 months experience is required.
This course does not cover any particular compiler environment or IDE (such as Eclipse, VisualStudio, or similar). Students will be given the necessary information to use the development tools employed in our Linux-based lab environment. Contact our office with any questions.