Reference no: EM132265189
Project Goal:
Using C++, develop a project that uses the various concepts you have learned over the course the term. The purpose of this project is to understand important data structures and learn how to implement them so that improve programming skills as well.
Your program should have some user interface as the front-end and the back end should be linked to a database (Microsoft SQL)
Your final deliverable must be a program to do some type of useful computation. Some previous project examples include: retail management system that keeps track of the daily delivery orders by customers; a clinic reservation system that bookkeeps patient information and manages bookings.
These are ideas to help you find a project, not to restrict you; in other words, if you want to do something substantial and interesting (and has the required features described below), but it does not strictly fall into one of these categories, you may still do that.
Your submission will be graded not just on its functionality, but also on the novelty of the idea and the quality of code, appropriate commenting, etc. It is important to have a novel idea.
Your project must have each of the following features:
1) It must use an efficient algorithm for sorting or searching or both, for some aspect of the project.
2) It must involve multiple linked-list implementations (e.g., stack, queue, etc.).
3) It must involve an implement of the binary tree ADT using a linked-list.
4) It must involve an implementation of the heap and heapsort algorithm.
5) Demonstrate heap construction step by step and output a sorted list based on a heap sort algorithm.
6) You must appropriately comment in the body of your code where each of the above features were implemented.
7) It must include a technical report which describes the problem you are trying to solve by building this system. The report should include the following sections:
I. Abstract
II. Introduction
III. Design
IV. Implementation
V. User Manual (should include steps on how to use the program with screen shots)
VI. Conclusions
NOTE:
You must appropriately comment in the body of your code where each of the above features were implemented.
You will lose significant marks if your project does not include the required features as described above.
To receive full marks on your report, you should have excellent internal documentation (i.e., appropriate comments, but also the choice of variable names), as well as excellent external report.