An advanced-level course expanding upon arrays, pointers, structures, templates, and file I/O. Test Driven Development (TDD), refactoring, and UML diagrams concepts are applied. Covers theory and application in areas such as the standard template libraries including vectors, lists, stacks, queues, sets, and maps. Object oriented principles of classes, data, inheritance and dynamic binding are covered.
Goals, Topics, and Objectives
- C++ Basics
- Parameters and Overloading
- Structures and Classes
- TDD (Test Driven Development) and Refactoring
- UML Diagrams
- Operator Overloading, friends, and references
- Pointers and Dynamic Arrays
- STL's (vectors, lists, stacks, queues, sets, and maps) and Iterators
- Input, compile and execute a C++ program using basic programming concepts.
- Design and create a program using functions.
- Create a program using separate compilation, prototypes and header files.
- Demonstrate the use of structures.
- Code, manipulate and utilize character strings.
- Demonstrate proficient use of linear and multidimensional arrays.
- Declare, initialize and manipulate pointers.
- Create and use references.
- Develop a program using TDD.
- Demonstrate refactoring.
- Develop programs from UML diagrams.
- Demonstrate proficient use of operator overloading.
- Demonstrate proficient use of arrays of pointers.
- Design and create a program using function pointers.
- Design and create classes, subclasses and objects.
- Explain and demonstrate the use of STL’s (vectors, lists, stacks, queues, sets, and maps) and iterators.
- Demonstrate proficient use of exception handling.
- Demonstrate proficient use of Constructor and destructor functions.
- Demonstrate proficient use of friend classes and functions.
- Create and use the NEW and DELETE operators.
Assessment and Requirements
Assessment of academic achievement may include (but is not limited to) written exams, hands-on activities and programs.