The main goal is to build a demonstrable system that exhibits one or more solutions to the selected problem. Focus should be on a specific problem and trying to find solutions to it. It is also crucial to have an end to end system as soon as possible though it is not the perfect solution. Later it can be developed to achieve better results. When choosing a topic it is important to take into account data that is going to be used and the testing approach. There are some areas in which finding data is hard if not impossible, due to several reasons such as privacy. Testing approach has to be clear and easy to understand. Suggested system should be tested and compared against the state of the art techniques in the domain. This way it can be concluded whether the system is a good solution or not.
In technical approach there are 7 stages to successfully complete the MS project:
1.Define the Problem: In this step problem has to be defined. State of the art techniques has to be analyzed and what new things will be added to the solution have to be determined. The way the success of the suggested solution will be measured needs to be identified in this stage.
2.Data Collection – Curation and Analysis: The data needed should be considered in this stage. The amount of data needed and its source must be known. It is important to avoid proprietary data or data that needs a license agreement to use. Usually data comes in a different format than the desired one. Therefore, how the data will be converted into usable format needs to be decided.
3.Methods and Tools Selection: The resources (hardware, time) and the tools (python, postgresql) needs to be selected.
4.System (Software/Hardware(?)) Development: It is important to have a brief outline of tasks and milestones beforehand. This will help to easily understand at which phase the project is along the way. For this cohort there are three major milestones:
–December Demonstration to Ada/GWU Faculty
–May Demonstration to ADA/GWU Faculty (Virtual)
–Delivery of Documentation
5.Test, Retest, and Test Again: During development of the system tests have to be done incrementally. Rather than keeping it to the end and realizing few things do not work as expected, it makes life simpler to do it incrementally and knowing the root of the problem. It is also crucial to record the tests, their results, and decision regarding the progress.
6.Operational Demonstration: In this stage functionality of the system should be demonstrated. To achieve this:
–Identify inputs you will use
–Describe expected results
–Demonstrate system output
–Discuss differences (if any) between expected output and actual output
For this cohort major milestones are noted in the stage 4.
7.Documentation: The documentation is needed to understand the project easily, both for the people working on the project and also for the people who wants to understand what has been done and what was the intention behind it.