Assignment: Fundamental Data Structures
Project Requirements
The Class Project assignment for the COS 221 course is an individual work. Every student has to develop independently a substantial program, using the C++ programming language and appropriate development environment, such as MS Visual Studio or any other C++ development environment. Every student is responsible to propose the topic (problem) of the project and to seek approval by the instructor.
A project needs to have the following required properties:
• Usesat least a three-level hierarchy of classes exploring inheritance, where at least one function is polymorphic (virtual) and the polymorphic properties are essential for the driver program.
• Uses data structures to organize collection(s) of objects, e.g. single collection of different kind of objects organized by exploring polymorphic definition of the behavior of the different objects.
• Develop algorithms to manipulate collection(s), with evaluated algorithm quality.
(1) You may choose data structure(s) among the studied during the course. In that case, you do not need to perform algorithm's performance evaluation.
(2) You must use effective algorithms as studied in class. For example, using bubble sort or any other O(N2) algorithms will result immediately with 10% lower grade for the entire project.