This course is an exploration of creating data structures in the C and C++ languages. Students will learn about arrays, structures, memory allocation, pointers, and file handling. Students will use classes and data abstraction, inheritance, polymorphism, operator overloading, templates and exception handling, along with linked lists, stacks, queues and binry trees. Proper coding style and testing techniques will be discussed. In addition, C++ will be compared to its predecessor language C ad a successor language, Microsoft C#.