Client/Server Development
How do you write programs that are maintainable, readable, and adaptable? Especially consider your work on the CRUD Python module from Project One, which you used to connect the dashboard widgets to the database in Project Two. What were the advantages of working in this way? How else could you use this CRUD Python module in the future?
I write programs that are maintainable, readable, and adaptable by keeping the code organized, using clear names, and separating different responsibilities into different parts of the project. In Project One, the CRUD Python module helped keep the database logic separate from the dashboard code. That made Project Two easier to build because I could use the same create, read, update, and delete structure to connect the dashboard widgets to MongoDB without rewriting the database connection each time.
The advantage of working this way was that the project became much easier to troubleshoot and update. If there was a problem with the database connection or query logic, I could focus on the CRUD module instead of searching through the entire dashboard. In the future, this CRUD module could be reused for other dashboards or any project (for that matter) that needs Python to connect to a MongoDB database.
How do you approach a problem as a computer scientist? Consider how you approached the database or dashboard requirements that Grazioso Salvare requested. How did your approach to this project differ from previous assignments in other courses? What techniques or strategies would you use in the future to create databases to meet other client requests?
I approach problems by breaking the requirements into smaller parts and solving them one at a time. This helps to not be overwhelmed from the start of the project. For the Grazioso Salvare dashboard, I matched the client’s requested features, like filters, tables, charts, and maps, to the fields in the database. This project felt more client-focused than some earlier assignments because I had to think about how someone would actually use the tool. In the future, I would keep using this approach: understand the client’s needs, study the data, build clear queries, and test each feature as I go.
What do computer scientists do, and why does it matter? How would your work on this type of project help a company, like Grazioso Salvare, to do their work better?
Computer scientists create tools that solve problems and make data easier to use. This matters because companies often have a lot of information, but they need software to turn it into something useful. For Grazioso Salvare, the dashboard helps staff quickly filter shelter records, find dogs that match rescue training needs, and view location and breed information. This is a win win since the staff has something quick and easy to access the info and the company gets something that saves them time and money.