An overview of the language is provided which includes a brief history of the development of the language, a specification of its capabilities and strengths, and its importance in current applications and systems development. The following major topics are covered in the curriculum:
Using the Microsoft Visual C++ Compiler, the basic elements and components of a C++ program, keyboard input, displaying information to the screen using the cin and the cout objects, the creation and use of variables, basic math operations, logical operators, conditional branching, the creation and implementation of loops, the design and creation of functions, polymorphism, overloaded functions and operators, reference variables, single and multi-dimensional arrays, character strings, data structures, pointers, dynamic memory allocation, defining and implementing classes, member data and member functions, the distinction between public and private members, constructor and destructor functions, static functions and data members, basic inheritance, multiple inheritance, and using function templates.
Upon successful completion of this module, students will be able to demonstrate the following skills by being able to:
Identify and apply the basic elements of C++ programs in creating software applications.
Master and apply the concepts of object oriented analysis and design.
When given a problem statement, heuristic or algorithm, identify the basic functional units required, i.e., classes, member variables, and member functions.
Design and implement all of the classes and objects needed to meet a program’s specifications.
Apply all of the fundamental methods of controlling the flow of a program including all forms of conditional branching and all variations of loops.
Design programs that optimize memory use through such mechanisms as pointers and dynamic memory allocation.
Implement data file input/output processing capability in the development of software applications.
Maximize code reuse through careful design and implementation of classes and the inheritance of those classes.
Create robust software that will handle exceptions and errors efficiently.