Computer Science

Computer Science, taught by Mrs. Taricco, focuses on Java programming although we also learn HTML and CSS. The class follows the AP CS A curriculum. As someone with more Java experience, I worked on an independent project during B and C term with the other advanced students.

Advanced Project: MAMS vs. Walden

As part of the Advanced Computer Science group, Joshua Shnee and I are creating MAMS vs. Walden, a game based on the party-game of Mafia. This game is meant to be played over multiple days with all MAMS students, and all players are split into 2 teams: the Thoreaus and the students. The main conflict is that students must determine who the Thoreaus are before the Thoreaus send all students to live deliberately. We decided on this project because neither of us had prior experience working with a database and authenticating users. In addition, we believe our project will be fun for others to play. Currently, we have a minimum viable product with 4 different player roles, a day/night cycle, and win conditions. I worked on the front end and studied ReactJS and Firestore syntax to conditionally render elements and manipulate the database for the back end, which Josh worked on. I learned how to authenticate users, read and write to a database, and organize web code for reusability—tools that I will use for the rest of my life. In the future, we plan to add more roles and actions that can be taken by players for additional balancing and intrigue. To the right, some of the code, the current UI, and brainstorming is shown.

CHMOD

Advanced CS students worked on challenging programming problems towards the beginning of the year. CHMOD is one such problem in which the goal was to convert 4 octal digits into binary and convert the binary numbers into computer conditions. I approached this problem by finding the binary representation of an octal digit, converting this binary to permissions, and combining the permissions for different digits together. Limiting the amount of rewritten code was the most interesting aspect of the programming for me. The problem and code are detailed to the right.

PantryAccess

PantryAccess is an app aimed to help food pantries manage their inventories and coordinate with clients, created by me, Charles Tang, and Sumanth Sura. As all of us have volunteered at food pantries, we recognized that many food pantries have trouble organizing food requests to help clients receive what they need. We created PantryAccess as our Apps for Good project to improve pantry and client communication and make food more accessible

Problem

Food pantries often have trouble maintaining their inventories and organizing their food supply to deliver items to clients effectively. Furthermore, with a growing demand in food banks, there is a pressing need for software that can connect food pantries and clients.

In the U.S., households that use food pantries come from primarily families with very low or low food security (Wunsch, 2021). The nutrition needs from families with low food security must be addressed with on-time and organized food access. Furthermore, studies have shown that 1 in 5 American individuals use food pantries during the pandemic, suggesting that food pantries will need better systems and software in the future (Stanger, 2020).

Access to food pantries is critical to maintaining good health and nutrition in families who may not be able to afford food. Studies have shown that food pantry interventions in households with poor food security can significantly improve diet-outcomes and overall health (An et al., 2019). However, access to food pantries and their inventories may not always be an easy task. Thus, it is important that a connection between food banks and clients be made to ensure a strong, healthy, diet.

Food pantries across the U.S., have been suffering from a lack of organization, especially volunteers (Pignataro, 2023). Since volunteers usually sort the inventory, track the dates of supplies, and help deliver food to clients, a lack of volunteers would mean that food is not being delivered effectively.

Target Audience

The target audience of the proposed application are food bank volunteers, food bank management, and potential clients. Food bank volunteers and management would be able to access and modify the inventory. Our general clients, or people with food insecurities, would be able to search and identify what inventory is available as well. Since the target audience primarily works in food pantries without access to computer systems, their most used and accessible device would be mobile phones. All users who have food insecurities will be able to register for an account in order to make requests for food desired to local food pantries and can see their past requests.

Our proposed application will primarily support clients with food insecurities and food bank organizers/volunteers who may request foods from food banks. Additionally, most if not all food bank clients use mobile phones for communication; for example, in Southborough Food Bank’s clients, 100% of all clients have access to a mobile phone and internet technologies (S. Coldwell, personal communication, March 15, 2023).

Solution

Thus, our goal is to create a universal food bank application that (a) improves and makes inventory management accessible for food bank volunteers, (b) streamline the nutritional donation and requesting needs, and (c) prevent the use of numerous softwares in food banks.

Minimum Viable Product

Our application will provide a user interface and database for both clients and food banks that will allow inventory tracking, making requests, and maintaining numerous food banks on a single platform.

The three core features of this application are (in order of precedence):

  1. Collect and manage the inventory of food banks into a database that tracks current inventory, quantities, and locations of the foods.
  2. Allow clients to access and view the inventories of food banks through a user-friendly interface.
  3. Create unique profiles for clients, food banks, or donors to foster stronger client-food-bank or donor-food-bank relations.

Flow Chart (User Interaction)

Clients and donors will begin with logging in or registering for an account. Next, they will be directed to their respective client or food bank web portal, where they can edit their profile, see food banks or their inventories, and make/see requests.

flowchart

Poster

References