CSP Project Planning
CSP Project Planning
Our Aim
We want to prioritize the customer before anything else; here’s how this will be done:
- Our website will run smoothly with minimal errors
- Try to keep our website as engaging as possible
- Listen to reviews and make changes as necessary
- Make the results accurate
About the Project
In this project, we are making a reverse dictionary. We were inspired by many students’ studious and driven culture and wanted to create a site that could help them. A problem that we noticed among many students, especially those in advanced English courses, is that they often don’t know or can’t remember the word they want to use. Through the use of this website, we want to help these students allowing them to do well where ever they choose to use this website.
How is This Done
In order to achieve this, we first need to get a basic understanding of how reverse dictionaries work and how to code them. After searching on Google, we came across many fascinating sites, some even explaining the basics of a reverse dictionary. Essentially it is looking for an output similar to the combination of the inputs. One of our ideas was to make the user input either the definition of the word or other words related to the word they need. For example, if you’re searching for the word “apple,” you can input “fruit,” “red,” and “grows on trees” to get your result. And currently, we are planning to code most of this with Python, use HTML to display everything, and use JavaScript to allow the user to interact with the results.
Create Performance Task Categories
1 Program Purpose and Function
See above
2 Abstraction
Each synonym could be stored in a list, which would either be manually created by us (less likely), or given in the API (more likely). The hard part would be to find a reverse dictionary API.
Managing Complexity
By using a list to store the synonyms of words, the code would be simplified so that multiple variables, each storing only one word, would not be needed.
4 Procedural Abstraction
We could make functions that include that collect the user’s inputs of various word definitions. These inputs would then need to be processed by comparing with the information in the API and then being able to output the ideal words to frontend.
5 Algorithm Implementation
Recursion can be used to repeatedly find definitions that contain certain keywords that the user implemented. if
statements could be used to select the words with the closest definition and display them under a category, then select the words with a moderate level of closeness and put them in another category.
6 Testing
Many parts of the program would include the need for testing. First of all, we need to implement an API and connect the frontend with the backend so that the frontend can display information about the API. This would require testing by inputting many definitions and seeing if the outcome word is what is desired.
Team Scrum Board
Agile Methodology Diagram
Our team used Slack as a form of communication to plan out our project.